Category: Wait Types
-
SQL Server Wait Types Library
Wait statistics are the single best first step in any SQL Server performance investigation. Every time a query waits on a resource, whether that’s a lock, disk I/O, a transaction log flush, a memory grant, or something else, SQL Server records it. By the time a performance problem appears, the evidence is usually already sitting…
Written by
-
PARALLEL_REDO_WORKER_SYNC Wait Type in SQL Server
PARALLEL_REDO_WORKER_SYNC is recorded when the main parallel redo thread on an Availability Group replica waits for its redo worker threads to complete their assigned work. It is the general completion-synchronisation wait of the redo pipeline, the main thread pausing at a rendezvous point while workers finish. It completes the set of parallel redo coordination waits…
Written by
-
PARALLEL_REDO_WORKER_WAIT_WORK Wait Type in SQL Server
PARALLEL_REDO_WORKER_WAIT_WORK is recorded on an Availability Group secondary when one of the parallel redo worker threads is waiting to be given log records to replay. Most of the time that is because the primary simply is not generating log right now, so the workers idle. It is the opposite condition to PARALLEL_REDO_FLOW_CONTROL: there, workers are…
Written by
-
PERFORMANCE_COUNTERS_RWLOCK Wait Type in SQL Server
PERFORMANCE_COUNTERS_RWLOCK is recorded when a thread waits on the reader-writer lock protecting the performance counter structures while a counter instance is added or removed. Many SQL Server counters are per-instance-of-something, per database, per Availability Group, per resource pool, so creating or dropping those objects touches the counter registry through this lock. Counter bookkeeping, exercised by…
Written by
-
PREEMPTIVE_COM Wait Types in SQL Server
The PREEMPTIVE_COM_* waits track threads calling methods on COM objects, in DBA practice almost always the OLE DB providers behind linked servers and OPENROWSET/OPENQUERY. This page covers the family: All are preemptive: the thread runs under Windows control until the COM call returns. Are They a Problem? They are the itemised bill for external provider…
Written by
-
PREEMPTIVE_DTC Wait Types in SQL Server
Distributed transactions route through the Microsoft Distributed Transaction Coordinator (MSDTC), and SQL Server’s calls into it are preemptive, the thread leaves cooperative scheduling until MSDTC answers. This page covers the family: Together they meter how much time your sessions spend talking to the transaction coordinator. Are They a Problem? They are honest latency accounting for…
Written by
-
PREEMPTIVE_HADR_LEASE_MECHANISM Wait Type in SQL Server
PREEMPTIVE_HADR_LEASE_MECHANISM is recorded when a thread switches to preemptive mode to renew the lease between the failover cluster and the SQL Server resource DLL, following a lease timeout. The lease is the AG’s dead-man switch: SQL Server and the cluster exchange heartbeats, and if the lease expires, the cluster concludes SQL Server is unhealthy and…
Written by
-
PREEMPTIVE_OLEDBOPS Wait Type in SQL Server
PREEMPTIVE_OLEDBOPS is recorded when a thread switches to preemptive mode (outside SQL Server’s cooperative scheduler) to communicate with an OLE DB provider. It is the third member of the linked server wait family: OLEDB covers provider calls generally, MSQL_DQ covers distributed query completion, and this one covers assorted provider operations made preemptively, connection management and…
Written by
-
PREEMPTIVE_OS Group Lookup Wait Types in SQL Server
A cluster of preemptive waits track Windows group membership and directory queries, and this page covers them together: PREEMPTIVE_OS_NETGROUPGETUSERS, NETLOCALGROUPGETMEMBERS, NETUSERGETGROUPS, NETUSERGETLOCALGROUPS, NETUSERMODALSGET, DOMAINSERVICESOPS, and DIRSVC_NETWORKOPS. They fire when SQL Server asks Windows who belongs to what: resolving a Windows group login’s membership, xp_logininfo enumerating group members, IS_MEMBER() checks that miss the token cache, and…
Written by
-
PREEMPTIVE_OS_AUTHENTICATIONOPS Wait Type in SQL Server
PREEMPTIVE_OS_AUTHENTICATIONOPS is recorded when a thread calls Windows security functions for authentication and authorisation work: validating logins, checking group memberships, building security tokens. The thread runs preemptively (outside SQL Server’s scheduler, state showing RUNNING) until Windows answers. Every Windows-authenticated login touches this path, so some volume is a fact of life on domain-joined servers. The…
Written by
Blog Categories
- Backups & Recovery (6)
- High Availability (HA) (5)
- 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 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
- PREEMPTIVE_DTC 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 (1) SQL Server Security (8) SQL Server Versions (2) Storage and Capacity (14) T-SQL (9) Transaction Logs (8) Troubleshooting (14) Windows Server (4)