ABORT_QUERY_EXECUTION is a SQL Server 2025 Query Store hint that makes one known bad query fail before it uses any CPU. This post sets the hint, shows the exact error the caller gets, lists and clears the hint, and covers the traps: exact text, SET options and queries already running.
Estimated Plan With a Temp Table: Why It Guesses One Row
An estimated plan for code that fills a temp table guesses one row for every read of that table. This post compares the estimated plan and the actual plan on SQL Server 2025, shows where the numbers split, and explains when to trust each one.
Sequence Project and Segment: How Window Functions Show Up in a Plan
A window function leaves Segment and Sequence Project operators in a query plan, and a Sort in front of them. This post tests ROW_NUMBER and a running total on SQL Server 2025, shows the batch mode Window Aggregate that replaces them, and removes the Sort with an index.
The Filter Operator: When SQL Server Reads Everything and Keeps a Few Rows
The Filter operator keeps a few rows after the plan has read and sorted many more. This post shows one on SQL Server 2025 with the actual plan and the logical reads, then rewrites the query so it seeks instead and reads about a fifth as many pages.
Capture Query Plans With Extended Events: A Safe, Scoped Session
To capture query plans without guessing, use an Extended Events session scoped to one database and a duration threshold. This post builds one on SQL Server 2025, reads the captured actual plan, and measures why plan capture must be switched on briefly and then off.
NEWID vs NEWSEQUENTIALID: What Each Does to Your Index
NEWID vs NEWSEQUENTIALID decides whether new uniqueidentifier keys land at random in your clustered index or in order at the end. This post loads 20,000 rows with each default, measures pages, fullness and fragmentation, and shows the limits of NEWSEQUENTIALID. It also answers what happens when you switch the default on a table that already has rows.
Session Wait Stats: Find the Query Behind a Wait Type
Session wait stats tell you which session produced a wait type, and the input buffer tells you which query that session ran. This post shows how to see who waits right now, how to read the wait history of each session, and how to join them to the query text. It also explains the THREADPOOL wait.







