Sample pending I/O requests during PAGEIOLATCH or WRITELOG stalls, map each request to a file, and share timed evidence.
Finding Which Database Uses the Most CPU on a Shared Instance
Find which database uses the most CPU from cached query stats and plan attributes, then use Query Store for restart-safe history.
SQL SERVER – Avoid Using Function in WHERE Clause – Scan to Seek
Does a function in WHERE clause really hurt performance? Using AdventureWorks and STATISTICS IO, I show what happens and how to turn a scan into a seek.
QUERY_OPTIMIZER_HOTFIXES: Turning On Optimizer Fixes per Database
A vendor says to turn on optimizer hotfixes. Here is how I check the setting, try it on one statement, and restore it.
Optimized Locking in SQL Server 2025: What Changes for Blocking
Enable optimized locking in SQL Server 2025 with ADR and RCSI, then compare lock counts and blocking while checking LAQ limits.
SQL SERVER – Basic Explanation of SET LOCK_TIMEOUT – How to Not Wait on Locked Query
SET LOCK_TIMEOUT works at the connection level, like the NOWAIT hint does for a query. I show how setting it to 0 stops a query from waiting on a lock.
SQL SERVER – Basic Explanation of Query Hint NOWAIT – How to Not Wait on Locked Query
Everybody knows NOLOCK, but not everyone knows NOWAIT. A question at a Bangalore User Group session led me to explain how NOWAIT skips waiting on a lock.





