Learning SQL Wait Stats is the fastest way I know to find out why a SQL Server is slow. This page lists every post in my wait stats series, in reading order. Keep it open in a tab and come back to it as you go.

One Story, 28 Nights
The series is told as one story. The Clipboard Diner sits at mile marker 28 on a two-lane highway, and it never closes. Its owner, Casey, gets a postcard: the food critic from the county paper will visit in 28 nights. The food is good, but the plates are always late.
So Casey picks up a clipboard and asks a better question: What are we waiting for? Each night Casey finds one kind of waiting in the kitchen. Each post then shows the same wait inside SQL Server. You get a query to see it and the fixes in order.
The cooks are worker threads, the burners are CPU schedulers, and the basement cooler is the disk. Pat’s order book is the transaction log, and Quinn, who carries the plates, is your application. You’ll meet all of them on the opening night.
Every Post in the Series

Questions Readers Ask
Is this still relevant to the latest SQL Server? Yes. I rewrote the whole series for SQL Server 2025. The meaning of a wait rarely changes between versions, so most of this stays true for a long time. Where SQL Server 2022 or 2025 changed something, each post says so in its own section.
Where do I start? New to waits? Read the opening night and the first five lessons in order, up to Wait Stats Over Time. They teach the three query states, the wait list, live waits and how to measure one busy hour.
My server is slow right now. Which post? Open Live Wait Stats to see what’s waiting this minute. Then use Wait Stats Troubleshooting for the one-page chart.
I already know my top wait. Then skip the story and find that wait in the table above. Every post stands on its own, and each one links to the posts before and after it.

Do I need a monitoring tool? No. Every query that shows waits reads built-in system views and changes nothing. Fixes that change a setting are clearly marked. A good tool is nice to have, but it reads the same views. Knowing them helps you trust the tool, or catch it when a chart looks wrong.
Which versions and permissions? The queries run on SQL Server 2016 and later. When one needs a newer version, its post says so. On SQL Server 2022 and later, the wait queries need VIEW SERVER PERFORMANCE STATE. On older versions it’s VIEW SERVER STATE. The instant file initialization check reads a service view, so on 2022 and later it needs VIEW SERVER SECURITY STATE. Using Azure SQL Database? Start with my post on sys.dm_db_wait_stats.
How long will it take? Each post takes ten to fifteen minutes to read. One a day gets you through in four weeks, the same pace as Casey. Some readers finish it on a long weekend, and that works too.
One Thing Before You Start
I’ll argue against my own series for a moment. Wait stats won’t fix a slow server by themselves. They point, and you still have to do the fixing. But in my health checks, the slow servers I see were rarely short on effort. They were short on pointing at the right thing, and that’s what this series teaches.
A slow server is not a mystery, it is a list of waits you can learn to read.
Published by Pinal Dave on SQLAuthority. More of my work at pinaldave.com.
Discover more from SQL Authority with Pinal Dave
Subscribe to get the latest posts sent to your email.




