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.
Why Table Size Numbers Disagree: Reserved, Used and Unused Space
Reconcile table size reports by reading reserved, used, data, index, and unused pages from sys.dm_db_partition_stats on SQL Server.
Redundant Indexes: Index on Col1, Col2 vs Col1, Col2, Col3
Redundant indexes cost space and slow every write, but not every one can go. This post measures an index on Col1, Col2 next to an index on Col1, Col2, Col3 on SQL Server 2025: size, plan, reads and log bytes. It ends with a safe way to remove one.
SQL SERVER – Find Referenced or Referencing Object in SQL Server using sys.sql_expression_dependencies
Which tables does a procedure use, and which procedures use a table? sys.sql_expression_dependencies answers both, with referenced and referencing objects.
sys.dm_os_waiting_tasks: Who Is Waiting Right Now and Why
sys.dm_os_waiting_tasks shows every task that waits right now, what it waits for and who is in the way. This post builds a three-session blocking chain on SQL Server 2025, reads the view, finds the head of the chain and names the locked table.
SQL SERVER – 2012 – List All The Column With Specific Data Types in Database
An updated SQL Server 2012 script to list every column with specific data types in a database, including user data types, schema and table names.







