SQL DBA Blog: Home

  • PAGELATCH_KP Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: PAGELATCH_EX Wait TypeRelated pillar: Performance & Troubleshooting Is It a Problem? No; expect it at or near zero. Our SQL Server 2025 lab had a single wait of under a millisecond in a day. Get Wait Statistics does not filter it…

    Read More


  • PAGELATCH_NL Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: PAGELATCH_EX Wait TypeRelated pillar: Performance & Troubleshooting Is It a Problem? No, and you should never see it accumulate; it was zero on our SQL Server 2025 lab. Get Wait Statistics does not filter it out, so if it ranks, you…

    Read More


  • PAGELATCH_SH Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: PAGELATCH_EX, TempDB Allocation ContentionRelated pillar: Performance & Troubleshooting ⚡PAGELATCH_SH is a thread waiting to read a page that is already in memory, because another thread has it latched for a change. It is not a disk wait. When it climbs, one…

    Read More


  • PAGELATCH_UP Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: PAGELATCH_EX Wait TypeRelated pillar: Performance & Troubleshooting ⚡PAGELATCH_UP is a thread waiting to update a page in memory, and that page is usually an allocation page: PFS, GAM or SGAM. Sustained, it is the classic sign of allocation contention, most often…

    Read More


  • How to Delete Duplicate Rows in SQL Server

    A table has rows that should exist once and now exist two or three times: a load ran twice, an import fired again, and nothing on the table stopped it. Two queries fix it. A GROUP BY shows you the duplicate sets, and a ROW_NUMBER() delete removes every copy except one, whether or not the…

    Read More


  • PARALLEL_REDO_DRAIN_WORKER Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: HADR_SYNC_COMMIT Wait TypeRelated pillar: High Availability Is It a Problem? No. The secondary replica redo model write-up lists it among the waits without performance impact and says to expect it regularly. Get Wait Statistics filters it out by default. What It…

    Read More


  • PREEMPTIVE_OS_LOGONUSER Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting Is It a Problem? Not at normal volumes. A logon call is cheap when Active Directory is healthy, and on many servers this wait is zero. It is worth a look when the count…

    Read More


  • PREEMPTIVE_OS_WRITEFILEGATHER Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: IO_COMPLETION Wait TypeRelated pillar: Performance & Troubleshooting ⚡PREEMPTIVE_OS_WRITEFILEGATHER is SQL Server waiting for Windows to write zeros into new file space, and the operation that grew the file waits with it. Long waits usually mean a data file growing without instant…

    Read More


  • QDS_SHUTDOWN_QUEUE Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: IO_COMPLETION Wait TypeRelated pillar: Performance & Troubleshooting Is It a Problem? No. It is a Query Store background wait, it is commonly filtered as benign, and Get Wait Statistics filters it out by default. On our SQL Server 2025 lab it…

    Read More


  • DBA Scripts: Server Inventory

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks.In: Server & Configuration An unfamiliar server · the first pass This is the step everything else is read against. A wait, a permission, a migration plan: none of them mean what they appear to mean until you know what the server actually is.…

    Read More