Two internal full-text search waits share this page: FT_IFTSHC_MUTEX, a thread in a full-text operation synchronising with other full-text workers around fdhost control operations (fdhost.exe is the filter daemon host process that does the actual word-breaking), and FT_IFTS_RWLOCK, synchronisation on the full-text background task queue while removing items from it. They pair with FT_IFTS_SCHEDULER_IDLE_WAIT (the…
FT_IFTS_SCHEDULER_IDLE_WAIT is recorded by the full-text search scheduler while it waits for work to appear on the full-text background task queue. If the Full-Text Engine is installed, this scheduler exists and mostly idles, whether or not any full-text indexes are defined or queried. An idle scheduler measuring its own idleness, which is to say: another…
Two waits belong to the FileTable subsystem (the FFT prefix), and this page covers both: FFT_NSO_DB_LIST, a thread waiting for access to the list of databases the FileTable subsystem maintains, and FFT_RECOVERY, a thread waiting for FileTable recovery to run while a database starts up. FileTables expose FILESTREAM data as a Windows file share, and…
These two waits synchronise I/O against database snapshot sparse files, and this page covers both: FCB_REPLICA_READ for reads through a snapshot’s context (queries against the snapshot, or DBCC’s internal snapshot reading its own copied pages) and FCB_REPLICA_WRITE for the synchronised writes that push copy-on-write pages into the sparse file. They complete the snapshot I/O picture…
EXECSYNC is a parallelism wait recorded when the threads of a parallel plan wait for a shared construct to be built by a single thread. Unlike CXPACKET, which covers the exchange iterators moving rows between threads, EXECSYNC covers the supporting structures: bitmaps for star join filtering, spools, large binary objects, and similar helpers that get…
EXCHANGE is a wait that occurs during synchronisation inside the query processor’s exchange iterator, the operator that moves rows between threads in a parallel plan. Exchange operators (you see them as Distribute Streams, Repartition Streams, and Gather Streams in an execution plan) are the joints of a parallel query, and threads coordinating at those joints…
EE_PMOLOCK is recorded when a thread waits for access to a thread-safe memory object used by the query execution engine while allocating certain types of memory during statement execution. The PMO in the name is a partitioned memory object; this is the execution engine’s slice of the same memory-object machinery behind CMEMTHREAD and CMEMPARTITIONED. Every…
EC is a wait type with two lives. It fell into disuse in older versions, then was repurposed around SQL Server 2014 as the wait recorded when a page is read from a Buffer Pool Extension (BPE) file, the feature that spills clean buffer pool pages to an SSD-backed file to stretch memory on RAM-limited…
DUMP_LOG_COORDINATOR is recorded when the coordinator thread of an fn_dump_dblog operation waits for its sub-threads to complete work. fn_dump_dblog is the undocumented function for reading log records directly out of a backup (its sibling fn_dblog reads the live log), a forensics tool for questions like “who deleted those rows and when”. Its companion DUMP_LOG_COORDINATOR_QUEUE covers…
DPT_ENTRY_LOCK is recorded when a thread waits for access to individual entries in the dirty page list on an Availability Group readable secondary, with parallel redo threads and read queries as the contending parties. It is the finer-grained sibling of DIRTY_PAGE_TABLE_LOCK: that one is the list itself, this one is specific entries in it. The…
Always On Availability Groups (4) Auditing (7) Backups (5) Blocking Locking (6) Collectors (7) Database Backups & Recovery (8) Database Backups and Recovery (5) Database Maintenance (7) DBA Tools (24) Disk Space (5) Extended Events (8) Features (6) High Availability (6) Indexes (7) Installation (7) Instance (3) Inventory (6) Jobs (3) Maintenance (6) Migration (13) Monitoring (24) Performance (21) Performance Troubleshooting (9) PowerShell (4) Queries (3) Query Behaviour (5) Security (7) SQL Agent (5) SQL Scripts (17) SQL Server Administration (10) SQL Server Configuration (7) SQL Server Errors (5) SQL Server High Availability (4) SQL Server Internals (3) SQL Server Management Studio (SSMS) (6) SQL Server Monitoring (7) SQL Server Networking (9) SQL Server Security (7) Storage and Capacity (7) T-SQL (9) Temp DB (3) Tracing (7) Transaction Logs (4) Troubleshooting (14) Windows Server (4)