Category: Wait Types

  • EC Wait Type in SQL Server

    EC is a wait type with two lives. It fell into disuse in older versions, then was repurposed around SQL Server 2014 as the wait recorded when a page is read from a Buffer Pool Extension (BPE) file, the feature that spills clean buffer pool pages to an SSD-backed file to stretch memory on RAM-limited…

  • DUMP_LOG_COORDINATOR Wait Type in SQL Server

    DUMP_LOG_COORDINATOR is recorded when the coordinator thread of an fn_dump_dblog operation waits for its sub-threads to complete work. fn_dump_dblog is the undocumented function for reading log records directly out of a backup (its sibling fn_dblog reads the live log), a forensics tool for questions like “who deleted those rows and when”. Its companion DUMP_LOG_COORDINATOR_QUEUE covers…

  • DPT_ENTRY_LOCK Wait Type in SQL Server

    DPT_ENTRY_LOCK is recorded when a thread waits for access to individual entries in the dirty page list on an Availability Group readable secondary, with parallel redo threads and read queries as the contending parties. It is the finer-grained sibling of DIRTY_PAGE_TABLE_LOCK: that one is the list itself, this one is specific entries in it. The…

  • DISPATCHER_QUEUE_SEMAPHORE Wait Type in SQL Server

    DISPATCHER_QUEUE_SEMAPHORE is recorded by threads in a dispatcher pool, a special-purpose thread pool some subsystems maintain separately from the main worker pool, while they wait for work to arrive. Known users of dispatcher pools include the backup subsystem, In-Memory OLTP’s storage engine components, and Extended Events dispatching. Idle pool threads waiting at the queue is…

  • DIRTY_PAGE_TABLE_LOCK Wait Type in SQL Server

    DIRTY_PAGE_TABLE_LOCK is recorded when a thread waits for access to the list of dirty pages on an Availability Group readable secondary, contended between parallel redo threads (which update it as they apply log) and read queries (which consult it to see consistent data). It is one of the structural costs of reading from a replica…

  • DIRTY_PAGE_POLL Wait Type in SQL Server

    DIRTY_PAGE_POLL is recorded by the background task that supports indirect checkpoints while it sleeps between polls looking for dirty pages (modified pages in the buffer pool that need writing to disk). It wakes roughly every 100 milliseconds, checks for work, and goes back to sleep, clocking this wait the entire time it sleeps. A timer…

  • DBMIRRORING_CMD Wait Type in SQL Server

    DBMIRRORING_CMD is recorded when a thread waits for various database mirroring configuration and state change operations to complete, a bucket that includes waiting on log flushes within the mirroring machinery. Books Online notes this wait is expected to be held for long periods, and mirrored instances routinely show many of them. It is broad mirroring…

  • DBMIRROR_WORKER_QUEUE Wait Type in SQL Server

    DBMIRROR_WORKER_QUEUE is recorded when a database mirroring worker task waits for more work to be assigned. Mirroring keeps a small crew of workers per session, and when the mirrored database is quiet, generating no log to ship or apply, the workers idle in this wait, sometimes for very long stretches. The mirroring worker pool’s bench…

  • DBMIRROR_SEND Wait Type in SQL Server

    DBMIRROR_SEND is a database mirroring wait recorded when a task must wait for the network communications backlog to clear before it can send mirroring messages. The mirroring session is generating log faster than the network layer can push it to the partner, so senders queue. If you still run database mirroring (it has been deprecated…

  • DBMIRROR_EVENTS_QUEUE Wait Type in SQL Server

    DBMIRROR_EVENTS_QUEUE is recorded by the main database mirroring thread while it waits for events to process. It only exists where database mirroring is configured, and on a quiet principal the individual waits can run very long, because there is simply nothing for the mirroring machinery to react to. The mirroring engine’s front desk, waiting for…