Category: Wait Types
-
DBMIRROR_DBM_MUTEX Wait Type in SQL Server
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…
Written by
-
DAC_INIT Wait Type in SQL Server
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;…
Written by
-
CXSYNC_PORT Wait Type in SQL Server
CXSYNC_PORT is the second of the parallelism waits split out of CXPACKET for Azure SQL Database and SQL Server 2022. It is recorded when parallel plan threads wait to open, close, and synchronise exchange iterator ports, the connection points through which producer threads hand rows to consumer threads. A long-running blocking operator, a big sort…
Written by
-
CXSYNC_CONSUMER Wait Type in SQL Server
CXSYNC_CONSUMER is one of the newer parallelism waits, recorded when consumer threads in a parallel plan wait to reach an exchange iterator synchronisation point. It first appeared in Azure SQL Database and Managed Instance and arrived on-premises with SQL Server 2022, where it was split out of CXPACKET (together with CXSYNC_PORT) to make parallel plan…
Written by
-
CXROWSET_SYNC Wait Type in SQL Server
CXROWSET_SYNC is a wait recorded during a parallel range scan, when a worker thread needs exclusive access to the scan’s shared parent rowset to coordinate with the other child threads. In a parallel scan, threads grab ranges of pages from a shared structure as they finish their previous range; this wait is the brief queue…
Written by
-
COMMIT_TABLE Wait Type in SQL Server
COMMIT_TABLE is recorded when a thread waits for access to the in-memory portion of the hidden commit table (sys.syscommittab) that underpins Change Tracking. Every transaction that modifies a change-tracked table adds a row to this structure, and the storage engine touches it from several directions: transaction commits, checkpoints, and the periodic automatic cleanup that trims…
Written by
-
COLUMNSTORE_BUILD_THROTTLE Wait Type in SQL Server
COLUMNSTORE_BUILD_THROTTLE Wait Type in SQL Server COLUMNSTORE_BUILD_THROTTLE is recorded when the parallel threads of a columnstore index build wait for the first segment to be built by a single thread. The design is deliberate: the memory grant estimate for a columnstore build assumes segments of a million rows, so SQL Server builds the first segment…
Written by
-
CMEMTHREAD Wait Type in SQL Server
CMEMTHREAD means workers are waiting for a memory object that is protected by a synchronisation primitive inside the engine. In plain terms, many threads want the same internal memory structure at the same time, and they queue. This wait is usually a concurrency pattern problem, not a disk problem. It often appears with heavy parallel…
Written by
-
CMEMPARTITIONED Wait Type in SQL Server
CMEMPARTITIONED is a wait for access to a thread-safe partitioned memory object. It is the sibling of CMEMTHREAD: when a shared memory object becomes a contention point, SQL Server can partition it by node or by CPU so threads mostly touch their local partition. CMEMTHREAD is contention on an unpartitioned object; CMEMPARTITIONED is the (much…
Written by
-
CLR_SEMAPHORE Wait Type in SQL Server
CLR_SEMAPHORE is recorded when a task executing CLR code waits to acquire a semaphore, one of the synchronisation primitives CLR threads use to gate access to limited resources. Like its sibling CLR_AUTO_EVENT, it comes with the territory of CLR integration being active, whether through user assemblies or the engine’s own internal CLR usage. Most instances…
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)