Category: Wait Types

  • XE_TIMER_EVENT Wait Type in SQL Server

    XE_TIMER_EVENT is recorded by a thread waiting for an Extended Events dispatch timer to expire. Event sessions with asynchronous targets buffer events in memory and hand them to the target either when a buffer fills or when the session’s MAX_DISPATCH_LATENCY (30 seconds by default) elapses; this wait is the timer ticking toward that latency deadline.…

  • BACKUPIO and BACKUPBUFFER Wait Types in SQL Server

    Part of the SQL Server Wait Types Library BACKUPIO and BACKUPBUFFER appear when backup operations are waiting on I/O: In practice, BACKUPIO is the more meaningful wait. BACKUPBUFFER accompanies it when there’s a severe destination bottleneck. Is This Wait Expected? Yes, during backup windows. If your full backup runs at midnight, you’ll see BACKUPIO elevated…

  • DEADLOCK_ENUM_MUTEX Wait Type in SQL Server

    DEADLOCK_ENUM_MUTEX is recorded when the background deadlock monitor and the sys.dm_os_waiting_tasks DMV synchronise so that SQL Server never runs multiple deadlock searches at once. Computing blocking_session_id for the DMV’s output walks the same territory as a deadlock search, so the two take turns through this mutex. An obscure but tidy piece of engine hygiene. Is…

  • FT_MASTER_MERGE Wait Type in SQL Server

    FT_MASTER_MERGE is recorded when a thread participating in a full-text master merge waits for the other participating threads to finish. A master merge happens when ALTER FULLTEXT CATALOG … REORGANIZE consolidates the many small full-text index fragments that accumulate through incremental population into one large index, done periodically because fewer fragments mean faster queries and…

  • PREEMPTIVE_OS Crypto Wait Types in SQL Server

    The cryptography-related preemptive waits track Windows crypto API calls, and this page covers the family: PREEMPTIVE_OS_BCRYPTIMPORTKEY, CRYPTACQUIRECONTEXT, CRYPTIMPORTKEY, CRYPTOPS, NCRYPTIMPORTKEY, VERIFYSIGNATURE, and VERIFYTRUST. Their customers are the engine’s encryption features: TDE key operations, backup encryption setting up its keys, Always Encrypted and column encryption key handling, EKM/HSM providers (where the import-key calls can genuinely leave…

  • PWAIT_ALL_COMPONENTS_INITIALIZED Wait Type in SQL Server

    PWAIT_ALL_COMPONENTS_INITIALIZED appears to be a startup gate: background tasks (the SQLOS resource monitor among them, judging from its call stacks) waiting during SQL Server startup for the engine components they depend on to finish initialising. Documentation is absent, but the behaviour is consistent: it accrues around instance start and then goes quiet. Another of the…

  • PWAIT_EXTENSIBILITY_CLEANUP_TASK Wait Type in SQL Server

    PWAIT_EXTENSIBILITY_CLEANUP_TASK is recorded by a background task belonging to the extensibility framework behind SQL Server Machine Learning Services, the Launchpad-based machinery that runs external R and Python scripts. The task sleeps in 300-second stretches between cleanup passes, and every one of those five-minute naps lands in this wait. It exists whether or not you ever…

  • REQUEST_FOR_DEADLOCK_SEARCH Wait Type in SQL Server

    REQUEST_FOR_DEADLOCK_SEARCH is recorded by the background deadlock monitor while it waits between deadlock searches. The default interval is five seconds, and it adapts: when deadlocks are being found the monitor searches more frequently, and it relaxes back toward five seconds when they stop. So the wait is the deadlock detector’s resting heartbeat. Is It a…

  • RESOURCE_SEMAPHORE_QUERY_COMPILE Wait Type in SQL Server

    RESOURCE_SEMAPHORE_QUERY_COMPILE means a query is waiting for memory needed at compile time. This is different from RESOURCE_SEMAPHORE, the runtime grant wait, where a plan is already compiled and queuing for execution memory. SQL Server throttles concurrent compiles through memory gateways: an unlimited lane for cheap compiles, then progressively narrower gates for medium and large ones.…

  • WAIT_XTP_OFFLINE_CKPT_NEW_LOG Wait Type in SQL Server

    WAIT_XTP_OFFLINE_CKPT_NEW_LOG is recorded by an In-Memory OLTP (XTP) offline checkpoint thread waiting for new log records to scan. In-Memory OLTP durability works by continuously scanning the transaction log and folding changes into checkpoint file pairs (data and delta files); when the scanner catches up to the end of the log, it parks in this wait…