Category: Wait Types
-
HADR_WORK_QUEUE Wait Type in SQL Server
HADR_WORK_QUEUE is recorded by Availability Group background worker threads while they sit waiting for new work to appear in the AG work queue. AGs keep a pool of ready workers for replication tasks; a worker with nothing to do parks here until something is assigned. Idle workers waiting for work is the normal, healthy state…
Written by
-
HADR_WORK_POOL Wait Type in SQL Server
HADR_WORK_POOL is recorded when a thread waits for access to the Availability Group work queue object, the concurrency control around AG background workers getting into position to wait for work. It sits one step before its sibling HADR_WORK_QUEUE (workers idle waiting for work); this one is workers coordinating access to the queue itself. Both are…
Written by
-
HADR_TIMER_TASK Wait Type in SQL Server
HADR_TIMER_TASK is recorded around the Availability Group timer machinery: threads waiting for access to the list of AG timers, plus the deliberate waits between runs of periodic AG tasks. A task that runs every ten seconds spends roughly ten seconds in this wait between executions, so the wait’s total mostly measures scheduled idleness. Every AG-enabled…
Written by
-
HADR_SEEDING_LIMIT_BACKUPS Wait Type in SQL Server
HADR_SEEDING_LIMIT_BACKUPS is recorded during Availability Group automatic seeding operations, and its observed behaviour is long waits, thousands of seconds in reported cases, lasting for the duration of some seeding runs. The name suggests throttling around concurrent backup-style operations inside the seeding machinery (seeding streams a backup under the hood). Documentation is thin; field evidence is…
Written by
-
HADR_NOTIFICATION_DEQUEUE Wait Type in SQL Server
HADR_NOTIFICATION_DEQUEUE is recorded by the background task that processes Windows Server Failover Clustering notifications while it waits for the next notification to arrive. Availability Groups need to hear about cluster events (node changes, resource moves, quorum shifts) the moment they happen, so a dedicated listener sits permanently on that queue. A listener with nothing to…
Written by
-
HADR_LOGPROGRESS_SYNC Wait Type in SQL Server
HADR_LOGPROGRESS_SYNC is recorded when a thread waits for exclusive access to the structure holding the latest log-harden LSN on an Availability Group primary with a synchronous replica. That structure is the release gate for synchronous commits: sessions parked in HADR_SYNC_COMMIT get signalled to continue once the hardened LSN passes their commit LSN, and updating or…
Written by
-
HADR_LOGCAPTURE_WAIT Wait Type in SQL Server
HADR_LOGCAPTURE_WAIT is recorded by the Availability Group log capture thread on the primary while it waits for log records to become available to ship to secondaries. If the capture thread has already sent everything up to the end of the log, it sits in this wait until the workload generates more, or while it reads…
Written by
-
HADR_ARCONTROLLER and HADR_FILESTREAM_IOMGR Wait Types in SQL Server
Two small Availability Group internals share this page: Both are single-purpose locks around infrequent events. Are They a Problem? No; neither has been a contention point. The subscriber-list lock is touched when replica events fire, which is occasional by nature; the FILESTREAM I/O manager lock is touched at its start and stop, rarer still. Their…
Written by
-
HADR_GROUP_COMMIT Wait Type in SQL Server
HADR_GROUP_COMMIT Wait Type in SQL Server HADR_GROUP_COMMIT is recorded when transaction commit processing on an Availability Group primary waits briefly so that multiple commit records can be packed into a single log block. Group commit is an optimisation: fewer, fuller log blocks mean fewer flushes, captures, and sends across the AG pipeline, which is a…
Written by
-
HADR_FILESTREAM_IOMGR_IOCOMPLETION Wait Type in SQL Server
HADR_FILESTREAM_IOMGR_IOCOMPLETION is recorded by the FILESTREAM I/O manager for Availability Groups while it sleeps between checks for completed FILESTREAM sends to replicas. The detail that surprises people: it ticks every half second for half a second regardless of whether any Availability Groups exist, and regardless of whether you use FILESTREAM. That makes it a permanent…
Written by
Blog Categories
- Backups & Recovery (6)
- High Availability (HA) (6)
- Installation & Configuration (12)
- Labs (1)
- Maintenance (3)
- Monitoring (20)
- Performance Tuning (8)
- Security (Encryption & Permissions) (5)
- T-SQL Fundamentals (8)
- Troubleshooting (6)
- Wait Types (201)
Latest Posts
- When Shrinking Temp DB Just Won’t Shrink
- SQL Server Replication Monitoring Scripts
- SQL Server Wait Types Library
- PARALLEL_REDO_WORKER_SYNC Wait Type in SQL Server
- PARALLEL_REDO_WORKER_WAIT_WORK Wait Type in SQL Server
- PERFORMANCE_COUNTERS_RWLOCK Wait Type in SQL Server
Blog Tags
Always On Availability Groups (4) Certificates & Encryption (1) Database Backups & Recovery (10) Database Maintenance (6) DBA Tools (29) Performance Troubleshooting (9) PowerShell (4) Query Behaviour (4) Schema Changes (1) SQL Agent (1) SQL Interview Questions (1) SQL Scripts (23) SQL Server Administration (11) SQL Server Configuration (7) SQL Server Errors (5) SQL Server High Availability (4) SQL Server Internals (4) SQL Server Management Studio (SSMS) (7) SQL Server Monitoring (10) SQL Server Networking (9) SQL Server Replication (2) SQL Server Security (8) SQL Server Versions (2) Storage and Capacity (14) T-SQL (9) Transaction Logs (8) Troubleshooting (14) Windows Server (4)