Category: Wait Types
-
QRY_PROFILE_LIST_MUTEX Wait Type in SQL Server
QRY_PROFILE_LIST_MUTEX is recorded when a thread waits for access to a profile list inside the query profiling statistics mechanism, the infrastructure behind lightweight query execution statistics (live query stats, sys.dm_exec_query_profiles, and the lightweight profiling that later versions enable by default). Mostly invisible plumbing, with one documented sharp edge. Is It a Problem? Normally no, but…
Written by
-
QUERY_TASK_ENQUEUE_MUTEX Wait Type in SQL Server
QUERY_TASK_ENQUEUE_MUTEX appears to be recorded when a thread involved in certain batch-mode query operations waits for its sibling threads to finish initialising. Batch-mode execution spins up cooperating thread sets, and their startup coordination passes through this mutex. It keeps company with the HT* family and BPSORT in the batch-mode machinery. Is It a Problem? No;…
Written by
-
REDO_THREAD_PENDING_WORK Wait Type in SQL Server
REDO_THREAD_PENDING_WORK is recorded on an Availability Group secondary when a redo thread is waiting to be signalled that more log has arrived to apply. When the secondary is fully caught up, the redo thread has nothing to do and parks here until the primary generates more transactions. It is one of the most common top…
Written by
-
REPLICA_WRITES Wait Type in SQL Server
REPLICA_WRITES is recorded while a task waits for page writes to a database snapshot or a DBCC replica to complete. Both targets are the same machinery: user-created database snapshots receive copy-on-write pages, and DBCC CHECKDB runs against a hidden internal snapshot that works identically. If this wait is on your board, snapshot files are absorbing…
Written by
-
REQUEST_DISPENSER_PAUSE Wait Type in SQL Server
REQUEST_DISPENSER_PAUSE is recorded while a task waits for all outstanding I/O against a database to complete, so that I/O can be frozen for an external snapshot backup. It is the setup phase of the freeze covered by DISKIO_SUSPEND: first drain everything in flight (this wait, one second at a time until the drain completes), then…
Written by
-
RESERVED_MEMORY_ALLOCATION_EXT Wait Type in SQL Server
RESERVED_MEMORY_ALLOCATION_EXT is recorded when a thread switches to preemptive mode while allocating memory that was already reserved for its query, in other words, drawing down its execution memory grant. The preemptive switch spares the allocation code from checking scheduling quantum exhaustion, the same mechanism as MEMORY_ALLOCATION_EXT, just against granted rather than general memory. Every sort,…
Written by
-
RESOURCE_GOVERNOR_IDLE Wait Type in SQL Server
RESOURCE_GOVERNOR_IDLE is recorded when a query is forced to sit idle because of a Resource Governor CPU cap (CAP_CPU_PERCENT). A cap is a hard ceiling: where the softer MAX_CPU_PERCENT only bites under contention, CAP_CPU_PERCENT inserts idle time into the runnable queue so the pool cannot exceed its percentage even on an otherwise idle server. This…
Written by
-
RESOURCE_SEMAPHORE_MUTEX Wait Type in SQL Server
RESOURCE_SEMAPHORE_MUTEX is a wait for the mutex protecting the critical section where queries acquire the resources they need to compile or execute, memory grants and thread reservations. Only one thread at a time can be inside that code. If the resource acquisition then fails, the thread releases the mutex and records the real wait, RESOURCE_SEMAPHORE,…
Written by
-
RESOURCE_SEMAPHORE_SMALL_QUERY Wait Type in SQL Server
RESOURCE_SEMAPHORE_SMALL_QUERY is a wait on the small-query memory grant semaphore. SQL Server reserves a separate slice of grant memory for cheap queries so they never queue behind memory-hungry monsters. This wait means even that fast lane is congested: a small query could not get its modest grant immediately. The engine caps the damage: if the…
Written by
-
RESOURCE_SEMAPHORE Wait Type in SQL Server
Part of the SQL Server Wait Types Library Before SQL Server runs a query that sorts or hashes large data sets, it requests a memory reservation, called a memory grant, from the resource semaphore. The semaphore controls how much of the total server memory can be allocated for query workspace at once. If the request…
Written by
Blog Categories
- Backups & Recovery (6)
- High Availability (HA) (6)
- Installation & Configuration (12)
- Labs (1)
- Maintenance (2)
- Monitoring (20)
- Performance Tuning (8)
- Security (Encryption & Permissions) (5)
- T-SQL Fundamentals (8)
- Troubleshooting (6)
- Wait Types (201)
Latest Posts
- 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
- PREEMPTIVE_COM Wait Types 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)