Category: Wait Types
-
BROKER_INIT and Service Broker Startup Wait Types in SQL Server
Service Broker has a cluster of internal waits around its startup, shutdown, and endpoint machinery that share one story, so this page covers them together: Are They a Problem? No. Every one of these is lifecycle or configuration machinery, active at startup, shutdown, endpoint state changes, and routing updates, and none has been a contention…
Written by
-
BROKER_EVENTHANDLER Wait Type in SQL Server
BROKER_EVENTHANDLER is recorded by the per-instance Service Broker primary event handler thread while it waits for something to handle: a Broker timeout event, or Service Broker starting up or shutting down. One thread, always present, almost always waiting. Its arithmetic gives it away: the cumulative wait time for this type runs roughly equal to the…
Written by
-
BPSORT Wait Type in SQL Server
BPSORT is recorded when a thread participates in a batch-mode sort, the columnstore-adjacent sort implementation (batch mode required columnstore involvement before SQL Server 2019; since then batch mode on rowstore widened the audience). Threads cooperating on a batch sort synchronise through this wait. Some of it is the ordinary sound of batch-mode sorts running. Is…
Written by
-
BMPALLOCATION Wait Type in SQL Server
BMPALLOCATION is a wait associated with allocating bitmap structures used by parallel query plans. Bitmap operators let SQL Server filter rows early during parallel hash joins: the build side produces a bitmap of qualifying keys, and probe-side rows that cannot match are discarded before they travel across exchange operators. Threads synchronising on the allocation of…
Written by
-
ASYNC_IO_COMPLETION Wait Type in SQL Server
ASYNC_IO_COMPLETION means SQL Server issued asynchronous I/O against a data file and is waiting for it to complete. Unlike the PAGEIOLATCH_* family, which covers ordinary page reads into the buffer pool, this wait belongs to bulk file operations: the data-reading side of backups, checkpoint writes flushing dirty pages, restores laying data down, and similar large-scale…
Written by
-
ASYNC_DISKPOOL_LOCK Wait Type in SQL Server
ASYNC_DISKPOOL_LOCK is recorded when a thread synchronises with the worker threads that manage long-duration file operations: creating and deleting files, zero-initialising new file space, and encrypting files for Transparent Data Encryption. Those operations run through a pool of workers, and coordinating with that pool produces this wait. It travels with the file-heavy moments of a…
Written by
-
PAGEIOLATCH_EX Wait Type in SQL Server
PAGEIOLATCH_EX Wait Type in SQL Server Part of the SQL Server Wait Types Library 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 page to…
Written by
-
LCK_M_X, LCK_M_S, and LCK_M_U Wait Types in SQL Server
Part of the SQL Server Wait Types Library 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 inherent in transactional systems. Under READ COMMITTED (the…
Written by
-
IO_COMPLETION Wait Type in SQL Server
Part of the SQL Server Wait Types Library 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, restore reads, and DBCC work file I/O. The…
Written by
-
HADR_SYNC_COMMIT Wait Type in SQL Server
Part of the SQL Server Wait Types Library 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 written and hardened on all synchronous secondaries.…
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)