SQLServerCentral Article

What Power BI DirectQuery does to your SQL Server (and how to fix it)

Power BI DirectQuery can quietly overwhelm your SQL Server. Unlike Import mode, DirectQuery sends live T-SQL for every visual interaction, multiplying queries and placing heavy analytical load on the database. This article explains how to identify the worst offending DirectQuery queries, why the generated SQL is often inefficient, and what you can do from the database side, including indexing, Query Store, and reporting views, to improve performance. It also outlines practical changes on the Power BI side and when DirectQuery is simply the wrong architectural choice.

External Article

How User-Defined Types work in PostgreSQL: a complete guide

I’m sure I’m not alone when I say, sometimes I get sidetracked. In this particular instance, I hadn’t intended to start learning about User-Defined Types (UDT) in PostgreSQL – I just wanted to test a behavior that involved creating a UDT. But, once I started reading, I was hooked. I mean, four distinct UDTs with different behaviors? That’s pretty cool. Let’s get into it.

Stairway icons Database Deployments

Designing Database Changes Before Deployment: Stairway to Reliable Database Deployments Level 1

Stairway to Reliable Database Deployments introduces a progressive approach to managing database changes with clear intent, predictable rollback, and explicit behavioral guarantees. Starting from change design and moving toward execution and coordination in complex environments, the Stairway provides a conceptual framework for deploying database changes safely and consistently, independent of specific tools or automation platforms.

Blogs

T-SQL Tuesday #203: Risk and Reward

By

This is timely, as I’m currently on a boat in the Adriatic taking a...

dataMinds Connect 2026 – Slides & Scripts

By

You can find the slides and SQL scripts for my session “Spice up your...

How to Clear the SSMS Cache (SSMS 21 and Later)

By

How to Clear the SSMS Cache (SSMS 21 and Later) Updated...

Read the latest Blogs

Forums

Alamat BCA KCP Pasar Kenari Telp:08218200203

By layanan_Bca88

Telp/Wa 628218200203 Gedung Sutrado, Jl. Kenari 2 No.5 Lt. 1, RT.2/RW.3, Kenari, Kec. Senen,...

Alamat BCA KCP Biak Telp:08217555651

By R4nt4u

Telp/Wa 628218200203 Jl. Biak No.44 AB, RT.8/RW.11, Cideng, Kecamatan Gambir, Kota Jakarta Pusat, Daerah...

Alamat BCA KCP Plaza Index Telp:08217555651

By m4rt1n4

Telp/Wa 628217555651 Gedung Plaza Bank Index Ground, Jl. M.H. Thamrin No.57 Floor Suite GF-21,...

Visit the forum

Question of the Day

Using CHOOSE()

We have this code that sets some status values and then queries them using the CHOOSE() function in SQL Server 2025.

CREATE TABLE Status
(
    StatusID INT,
    StatusDescription VARCHAR(20)
);
GO
INSERT dbo.Status
(
    StatusID,
    StatusDescription
)
VALUES
(0, 'Uncategorized'),
(1, 'Active'),
(2, 'Inactive'),
(3, 'Temp');

GO
SELECT CHOOSE(StatusID, 'Unknown', 'Active', 'Inactive', 'Temporary')
FROM Status;
When the SELECT runs, what is returned?

See possible answers