Live wait stats show what every request in SQL Server is waiting on at this moment, and who is in its way. On Night 4 at the Clipboard Diner, the Saturday rush stalls behind a party in booth 7 that isn’t waiting for anything. Then three queries find the waiting tasks, the head blocker and one session’s own waits.
sys.dm_os_wait_stats: Reading the Wait Stats List
sys.dm_os_wait_stats is the running list of every wait SQL Server has recorded since its last restart. On Night 3 at the Clipboard Diner, Casey reads the clipboard at 2 AM and crosses out the sleepers. Then one query filters out the harmless waits and shows the share, the average and the signal part of every wait that matters.
Signal Wait Stats: CPU Waits vs Resource Waits
Signal wait stats show how long a SQL Server query sat ready to run, waiting in line for a CPU. On Night 2 at the Clipboard Diner, the potatoes arrive on time and the Garden Hash waits anyway. Then two queries split your server’s waits into the CPU part and the resource part.
Wait Stats Explained: SQL Server as an All-Night Diner
Wait stats explained with one picture: SQL Server is an all-night diner, and every query is an order ticket that waits for something. Meet the Clipboard Diner, its owner Casey, the cooks and booth 7. Then count the burners and cooks on your own server with one query.
Wait Stats Basics: How Waits Work in SQL Server
Wait stats basics start with one idea: a query in SQL Server is always either working or waiting. On Night 1 at the Clipboard Diner, one plate of Garden Hash shows the three states every query moves through. Then two queries show the same thing on your own server.
SQL SERVER – DMV – sys.dm_exec_query_optimizer_info – Statistics of Optimizer
The DMV sys.dm_exec_query_optimizer_info keeps statistics of optimizer activity. My simple query shows optimizations, elapsed time, final cost and more.
Unused Index Script: Find Indexes That Only Cost You Writes
This Unused Index Script lists nonclustered indexes that SQL Server keeps writing to and no query ever reads. It starts from the index list so untouched indexes are not missed, skips the risky ones, and writes the disable and recreate statements. A garden center orders table shows one update dropping from 5,011 pages to 6 once an unused index is disabled.


