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…
Part of the DBA-Tools Project. Walk onto a new SQL Server instance and the first honest question is usually “where’s all the space going.” Not at the database level, sys.master_files answers that in seconds, but at the table level, inside a database that’s grown for years without anyone tracking which objects are actually driving the…
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 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 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 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 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 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…
DBMIRROR_DBM_MUTEX is a database mirroring wait that occurs only on the mirror server, when a thread waits for parallel threads that are replaying (redoing) log records on the mirror database. It is synchronisation inside the mirror’s redo machinery, the threads coordinating who applies what. If you see it on an instance, that instance is acting…
DAC_INIT is recorded while the TDS listener for the Dedicated Admin Connection (DAC) initialises at instance startup. The DAC is the emergency side door: a reserved connection with its own scheduler and resources that lets an administrator connect to an otherwise unresponsive instance to diagnose and kill whatever is wedging it. One initialisation per startup;…
Always On Availability Groups (4) Auditing (7) Backups (5) Blocking Locking (6) Collectors (7) Database Backups & Recovery (8) Database Backups and Recovery (5) Database Maintenance (7) DBA Tools (24) Disk Space (5) Extended Events (8) Features (6) High Availability (6) Indexes (7) Installation (7) Instance (3) Inventory (6) Jobs (3) Maintenance (6) Migration (13) Monitoring (24) Performance (21) Performance Troubleshooting (9) PowerShell (4) Queries (3) Query Behaviour (5) Security (7) SQL Agent (5) SQL Scripts (17) SQL Server Administration (10) SQL Server Configuration (7) SQL Server Errors (5) SQL Server High Availability (4) SQL Server Internals (3) SQL Server Management Studio (SSMS) (6) SQL Server Monitoring (7) SQL Server Networking (9) SQL Server Security (7) Storage and Capacity (7) T-SQL (9) Temp DB (3) Tracing (7) Transaction Logs (4) Troubleshooting (14) Windows Server (4)