Author: Peter Whyte

  • PAGEIOLATCH_EX Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related pillar: Storage & Capacity PAGEIOLATCH_EX is the exclusive (write) variant of the page I/O latch wait. Where PAGEIOLATCH_SH means SQL Server is waiting to read a page from disk into the buffer pool, PAGEIOLATCH_EX means SQL Server is waiting to write a dirty…

  • LCK_M_X, LCK_M_S, and LCK_M_U Wait Types in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related pillar: Performance & Troubleshooting These wait types mean queries are blocked waiting for locks held by other sessions: High values for any of these mean blocking is happening regularly and accumulating significant wait time. Is This Wait Expected? Small amounts of locking are…

  • IO_COMPLETION Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related pillar: Storage & Capacity IO_COMPLETION covers I/O waits that happen outside the normal buffer pool page path. Where PAGEIOLATCH_SH and PAGEIOLATCH_EX track data page reads and writes through the buffer pool, IO_COMPLETION tracks everything else: sort spills to tempdb worktables, backup file writes,…

  • HADR_SYNC_COMMIT Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related pillar: High Availability HADR_SYNC_COMMIT appears exclusively on Always On Availability Group primary replicas configured with at least one synchronous commit secondary. With synchronous commit, the primary cannot acknowledge a transaction commit to the application until the log records for that transaction have been…

  • CXPACKET and CXCONSUMER Wait Types in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related pillar: Performance & Troubleshooting CXPACKET and CXCONSUMER appear whenever SQL Server runs a query using parallelism. They are the coordination overhead between parallel worker threads, not actual resource waits. They almost always appear together. If you’re on a build older than SQL Server…

  • DBA Scripts: Get Maintenance Job Status

    ,

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks.In: Maintenance & Automation › Maintenance Job Framework A maintenance job that’s silently failing is one of the more dangerous states a SQL Server instance can be in, because everything looks normal from the outside. The database is online, queries run fine, and the…

  • DBA Scripts: Get Instance Configuration Score

    ,

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks.In: Server & Configuration › Server Inventory Get Instance Configuration Snapshot gives you every raw sp_configure setting; useful, but it doesn’t tell you which of those hundred-plus rows actually matter. This script is the graded version: roughly 20 checks spanning memory, security, backups, integrity,…

  • DBA Scripts: Get Agent Alerts and Operators

    ,

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks.In: Maintenance & Automation › SQL Agent & Jobs A SQL Server can raise a severity 19-25 error, the fatal, “something is genuinely broken” tier, corruption, out-of-resource conditions, hardware faults, and if there’s no alert configured for that severity, nothing happens. No email, no…

  • DBA Scripts: Get Query Store Status

    ,

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks.In: Performance & Troubleshooting › Query & Performance Tuning Query Store is the single most useful diagnostic feature SQL Server has shipped in the last decade, a built-in, per-database history of every query’s plans and runtime stats, no third-party tooling required. And it fails…

  • DBA Scripts: Get Index Design Issues

    ,

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks.In: Maintenance & Automation › Index Maintenance Most index problems aren’t about a single bad index, they’re about a table’s index design as a whole drifting out of shape over time. A table that accumulates 25 indexes because nobody ever removed the old ones.…