sql server等待類型
等待的類型
sys.dm_os_wait_stats 顯示已經完成的等待的時間。此動態管理視圖不顯示當前等待。
如果出現下列任一情況,則不認為 SQL Server 工作線程處於等待狀態:
-
資源變得可用。
-
查詢非空。
-
外部進程完成。
盡管線程不再處於等待狀態,但是它不必立即開始運行。這是因為此類線程首先放入可運行工作線程的隊列中,並且必須等待量程在計劃程序中運行。
在 SQL Server 中,等待時間計數器的數據類型為 bigint,因此它們不會像 SQL Server 的早期版本中的等效計數器那樣滾動進行計數。
執行查詢期間的特定等待時間類型可以說明查詢中存在瓶頸或失效點。同樣,如果服務器級的等待時間較長或等待計數較多,說明服務器實例內交互查詢交互中存在瓶頸或熱點。例如,鎖等待指示查詢爭用數據;頁 IO 閂鎖等待指示 IO 響應時間較慢;頁閂鎖更新指示表示文件布局不正確。
此動態管理視圖的內容可通過運行以下命令來重置:
復制DBCC SQLPERF (‘sys.dm_os_wait_stats‘, CLEAR); GO
該命令將所有計數器重置為 0。
註意 |
---|
這些統計信息在每次重新啟動 SQL Server 時都不能持續存在,並且所有的數據均為自上次重置統計信息或啟動服務器以來累積的數據。 |
下表列出各任務所遇到的等待類型。
等待類型 |
說明 |
---|---|
ABR |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
ASSEMBLY_LOAD |
在以獨占的方式訪問程序集加載時出現。 |
ASYNC_DISKPOOL_LOCK |
當嘗試同步並行的線程(執行創建或初始化文件等任務)時出現。 |
ASYNC_IO_COMPLETION |
當某任務正在等待 I/O 完成時出現。 |
ASYNC_NETWORK_IO |
當任務被阻止在網絡之後時出現在網絡寫入中。驗證客戶端是否正在處理來自服務器的數據。 |
AUDIT_GROUPCACHE_LOCK |
當等待控制對某個特殊緩存的訪問的鎖時出現。該緩存包含正在使用哪些審核來審核每個審核操作組的相關信息。 |
AUDIT_LOGINCACHE_LOCK |
當等待控制對某個特殊緩存的訪問的鎖時出現。該緩存包含正在使用哪些審核來審核登錄審核操作組的相關信息。 |
AUDIT_ON_DEMAND_TARGET_LOCK |
當等待用於確保擴展事件目標相關審核的單一初始化的鎖時出現。 |
AUDIT_XE_SESSION_MGR |
當等待用於同步擴展事件會話相關審核的啟動和停止的鎖時出現。 |
BACKUP |
當任務作為備份處理的一部分被阻止時出現。 |
BACKUP_OPERATOR |
當任務正在等待磁帶裝入時出現。若要查看磁帶狀態,請查詢 sys.dm_io_backup_tapes。如果裝入操作沒有掛起,則該等待類型可能指示磁帶機發生硬件問題。 |
BACKUPBUFFER |
在備份任務等待數據或等待用來存儲數據的緩沖區時發生。此類型不常見,只有當任務等待裝入磁帶時才會出現。 |
BACKUPIO |
在備份任務等待數據或等待用來存儲數據的緩沖區時發生。此類型不常見,只有當任務等待裝入磁帶時才會出現。 |
BACKUPTHREAD |
當某任務正在等待備份任務完成時出現。等待時間可能較長,從幾分鐘到幾個小時。如果被等待的任務正處於 I/O 進程中,則該類型不指示發生問題。 |
BAD_PAGE_PROCESS |
當後臺可疑頁記錄器正在嘗試避免每隔五秒以上的時間運行時出現。過多的可疑頁會導致記錄器頻繁運行。 |
BROKER_CONNECTION_RECEIVE_TASK |
在等待訪問以便在連接端點上接收消息時出現。已序列化對端點的接收訪問。 |
BROKER_ENDPOINT_STATE_MUTEX |
當存在訪問 Service Broker 連接端點狀態的爭用時出現。已序列化對更改狀態的訪問。 |
BROKER_EVENTHANDLER |
當某任務正在 Service Broker 的主事件處理程序中等待時出現。出現時間應該非常短暫。 |
BROKER_INIT |
當初始化每個活動數據庫中的 Service Broker 時出現。該狀態應當頻繁出現。 |
BROKER_MASTERSTART |
當某任務正在等待 Service Broker 的主事件處理程序啟動時出現。出現時間應該非常短暫。 |
BROKER_RECEIVE_WAITFOR |
當 RECEIVE WAITFOR 正在等待時出現。如果沒有準備接收的消息,則通常出現該狀態。 |
BROKER_REGISTERALLENDPOINTS |
在初始化 Service Broker 連接端點的過程中出現。出現時間應該非常短暫。 |
BROKER_SERVICE |
當與目標服務關聯的 Service Broker 目標列表更新或重新設定優先順序時出現。 |
BROKER_SHUTDOWN |
當按計劃關閉 Service Broker 時出現。該狀態出現的時間應當盡量短暫。 |
BROKER_TASK_STOP |
當 Service Broker 隊列任務處理程序嘗試關閉任務時出現。已序列化狀態檢查,並且必須預先處於運行狀態。 |
BROKER_TO_FLUSH |
當 Service Broker 惰性刷新器將內存中傳輸對象刷新到工作表時出現。 |
BROKER_TRANSMITTER |
當 Service Broker 發送器正在等待工作時出現。 |
BUILTIN_HASHKEY_MUTEX |
可能在實例啟動之後而在初始化內部數據結構時出現。數據結構初始化之後將不會再次出現。 |
CHECK_PRINT_RECORD |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
CHECKPOINT_QUEUE |
當檢查點任務正在等待下一個檢查點請求時出現。 |
CHKPT |
在服務器啟動時出現以通知檢查點線程可以啟動。 |
CLEAR_DB |
在執行會更改數據庫狀態的操作過程中發生,例如打開或關閉數據庫。 |
CLR_AUTO_EVENT |
當某任務當前正在執行公共語言運行時 (CLR) 執行並且正在等待特殊的自動事件啟動時出現。通常會出現長時間等待,這並不意味著出現問題。 |
CLR_CRST |
當某任務當前正在執行 CLR 執行並且正在等待輸入當前由另一項任務正在使用的任務的關鍵部分時出現。 |
CLR_JOIN |
當某任務當前正在執行 CLR 執行並且正在等待另一項任務結束時出現。當兩任務之間具有聯接時出現該等待狀態。 |
CLR_MANUAL_EVENT |
當某任務當前正在執行 CLR 執行並且正在等待特定手動事件啟動時出現。 |
CLR_MEMORY_SPY |
當為用於記錄來自 CLR 的所有虛擬內存分配的數據結構等待獲取鎖時出現。如果存在並行訪問,該數據結構將被鎖定以維護其完整性。 |
CLR_MONITOR |
當某任務當前正在執行 CLR 執行並且正在等待獲取用於監視器的鎖時出現。 |
CLR_RWLOCK_READER |
當某任務當前正在執行 CLR 執行並且正在等待讀取器鎖時出現。 |
CLR_RWLOCK_WRITER |
當某任務當前正在執行 CLR 執行並且正在等待編寫器鎖時出現。 |
CLR_SEMAPHORE |
當某任務當前正在執行 CLR 執行並且正在等待信號量時出現。 |
CLR_TASK_START |
在等待 CLR 任務完成啟動時出現。 |
CLRHOST_STATE_ACCESS |
當等待獲取對 CLR 宿主數據結構的獨占訪問時出現。當設置或關閉 CLR 運行時時出現此等待類型。 |
CMEMTHREAD |
當某任務正在等待線程安全內存對象時出現。當多項任務嘗試分配來自同一個內存對象的內存而導致出現爭用時,便可能延長等待時間。 |
CXPACKET |
當嘗試同步查詢處理器交換叠代器時出現。如果針對該等待類型的爭用成為問題時,可以考慮降低並行度。 |
CXROWSET_SYNC |
在並行範圍掃描期間出現。 |
DAC_INIT |
當正在初始化專用管理員連接時出現。 |
DBMIRROR_DBM_EVENT |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
DBMIRROR_DBM_MUTEX |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
DBMIRROR_EVENTS_QUEUE |
在數據庫鏡像等待處理事件時出現。 |
DBMIRROR_SEND |
當某任務正在等待清除網絡層的通信積壓以便能夠發送消息時出現。指示通信層正在開始重載並影響數據庫鏡像數據吞吐量。 |
DBMIRROR_WORKER_QUEUE |
指示數據庫鏡像工作線程任務正在等待更多的工作。 |
DBMIRRORING_CMD |
當某任務正在等待日誌記錄刷新到磁盤時出現。該等待狀態應當保留較長的時間。 |
DEADLOCK_ENUM_MUTEX |
在死鎖監視器和 sys.dm_os_waiting_tasks 嘗試確保 SQL Server 不同時運行多個死鎖搜索時出現。 |
DEADLOCK_TASK_SEARCH |
長時間等待此資源指示服務器正在 sys.dm_os_waiting_tasks 之上執行查詢,並且這些查詢正在阻止死鎖監視器運行死鎖搜索。該等待類型僅供死鎖監視器使用。sys.dm_os_waiting_tasks 之上的查詢使用 DEADLOCK_ENUM_MUTEX。 |
DEBUG |
在 Transact-SQL 和 CLR 調試內部同步期間出現。 |
DISABLE_VERSIONING |
當 SQL Server 輪詢版本事務管理器,以查看最早的活動事務的時間戳是否晚於狀態開始更改時的時間戳時出現。如果是,則所有在 ALTER DATABASE 語句運行之前啟動的快照事務都已完成。當 SQL Server 通過 ALTER DATABASE 語句禁用版本控制時使用該等待狀態。 |
DISKIO_SUSPEND |
當某任務正在等待訪問文件(外部備份處於活動狀態)時出現。針對每個正在等待的用戶進程報告該狀態。每個用戶進程大於五的計數可能指示外部備份需要太長時間才能完成。 |
DISPATCHER_QUEUE_SEMAPHORE |
當調度程序池中的線程正在等待更多要處理的工作時出現。當調度程序處於空閑狀態時,此等待類型的等待時間預計要增加。 |
DLL_LOADING_MUTEX |
在等待 XML 分析器 DLL 加載時出現。 |
DROPTEMP |
在上次嘗試刪除臨時對象失敗後再進行下次嘗試之前出現。對於每一次失敗的刪除嘗試,等待持續時間都以指數形式增長。 |
DTC |
當某任務正在等待用於管理狀態轉換的事件時出現。該狀態控制當 SQL Server 接收到 Microsoft 分布式事務處理協調器 (MS DTC) 服務不可用的通知之後執行 MS DTC 事務恢復的時間。 該狀態還說明在 SQL Server 啟動了 MS DTC 事務提交並且 SQL Server 正在等待 MS DTC 提交完成時進行等待的任務。 |
DTC_ABORT_REQUEST |
當 MS DTC 工作線程會話正在等待獲得 MS DTC 事務的所有權時,在該會話中出現。當 MS DTC 擁有了事務後,該會話可以回滾事務。通常,該會話將等待另一個正在使用事務的會話。 |
DTC_RESOLVE |
當恢復任務正在等待跨數據庫事務中的 master 數據庫以查詢該事務的結果時出現。 |
DTC_STATE |
當某任務正在等待對內部 MS DTC 全局狀態對象的更改進行保護的事件時出現。該狀態應當保持非常短的時間。 |
DTC_TMDOWN_REQUEST |
當 SQL Server 接收到 MS DTC 服務不可用的通知時,在 MS DTC 工作線程會話中出現。首先,工作線程將等待 MS DTC 恢復進程啟動。然後,工作線程等待獲取其正在處理的分布式事務的結果。此過程可能一直執行,直到重新建立與 MS DTC 服務的連接。 |
DTC_WAITFOR_OUTCOME |
當恢復任務等待 MS DTC 處於活動狀態以啟用準備好的事務的解決方法時出現。 |
DUMP_LOG_COORDINATOR |
當主任務正在等待子任務生成數據時出現。該狀態通常不會出現。長時間的等待指示出現意外的阻塞。應當對子任務進行調查。 |
DUMPTRIGGER |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
EC |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
EE_PMOLOCK |
在語句執行過程中特定的內存分配類型同步期間出現。 |
EE_SPECPROC_MAP_INIT |
在對內部過程哈希表創建進行同步期間發生。此等待只能發生在 SQL Server 實例啟動之後對哈希表的初始訪問期間。 |
ENABLE_VERSIONING |
當 SQL Server 在聲明數據庫可以轉換到快照隔離允許的狀態之前,等待該數據庫中的所有更新事務完成時出現。當 SQL Server 通過 ALTER DATABASE 語句啟用快照隔離時使用該狀態。 |
ERROR_REPORTING_MANAGER |
在對多個並發錯誤日誌初始化進行同步期間發生。 |
EXCHANGE |
在並行查詢過程中查詢處理器交換叠代器同步期間出現。 |
EXECSYNC |
在並行查詢過程中同步與交換叠代器無關的區域內的查詢處理器期間出現。例如,此類區域包括位圖、二進制大型對象 (LOB) 以及假脫機叠代器等。LOB 可能會經常使用該等待狀態。 |
EXECUTION_PIPE_EVENT_INTERNAL |
當同步通過連接上下文提交的批處理執行的創建器和使用者部件期間出現。 |
FAILPOINT |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
FCB_REPLICA_READ |
當同步快照(或 DBCC 創建的臨時快照)稀疏文件的讀取時出現。 |
FCB_REPLICA_WRITE |
當同步快照(或 DBCC 創建的臨時快照)稀疏文件的頁推送或頁請求時出現。 |
FS_FC_RWLOCK |
當 FILESTREAM 垃圾收集器等待執行下列操作之一時出現:
|
FS_GARBAGE_COLLECTOR_SHUTDOWN |
當 FILESTREAM 垃圾收集器等待清除任務完成時出現。 |
FS_HEADER_RWLOCK |
當等待獲取對 FILESTREAM 數據容器的 FILESTREAM 標頭的訪問,以便讀取或更新 FILESTREAM 標頭文件 (Filestream.hdr) 中的內容時出現。 |
FS_LOGTRUNC_RWLOCK |
當等待獲取對 FILESTREAM 日誌截斷的訪問以執行下列操作之一時出現:
|
FSA_FORCE_OWN_XACT |
當 FILESTREAM 文件 I/O 操作需要綁定到關聯的事務,但該事務當前由另一個會話擁有時出現。 |
FSAGENT |
當 FILESTREAM 文件 I/O 操作等待的 FILESTREAM 代理資源正由另一個文件 I/O 操作使用時出現。 |
FSTR_CONFIG_MUTEX |
當等待另一個 FILESTREAM 功能重新配置完成時出現。 |
FSTR_CONFIG_RWLOCK |
當等待序列化對 FILESTREAM 配置參數的訪問時出現。 |
FT_METADATA_MUTEX |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
FT_RESTART_CRAWL |
在全文爬網需要從上一個已知可用點重新啟動以便從暫時故障中恢復時出現。等待使當前正在此總體中工作的工作線程任務完成或退出當前步驟。 |
FULLTEXT GATHERER |
在同步全文操作期間發生。 |
GUARDIAN |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
HTTP_ENUMERATION |
在啟動時出現,以枚舉 HTTP 端點以啟動 HTTP。 |
HTTP_START |
當連接正在等待 HTTP 完成初始化時出現。 |
IMPPROV_IOWAIT |
當 SQL Server 等待 Bulkload I/O 完成時出現。 |
INTERNAL_TESTING |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
IO_AUDIT_MUTEX |
在跟蹤事件緩沖區同步期間出現。 |
IO_COMPLETION |
在等待 I/O 操作完成時出現。通常,該等待類型表示非數據頁 I/O。數據頁 I/O 完成等待顯示為 PAGEIOLATCH_* waits。 |
IO_RETRY |
當 I/O 操作(例如讀取磁盤或寫入磁盤)由於資源不足而失敗,然後重試時出現。 |
IOAFF_RANGE_QUEUE |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
KSOURCE_WAKEUP |
在等待來自服務控制管理器的請求期間由服務控制任務使用。可能會出現長時間等待,這並不指示出現問題。 |
KTM_ENLISTMENT |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
KTM_RECOVERY_MANAGER |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
KTM_RECOVERY_RESOLUTION |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
LATCH_DT |
等待 DT(破壞)閂鎖時出現。它不包括緩沖區閂鎖或事務標記閂鎖。sys.dm_os_latch_stats 中提供了 LATCH_* waits 的列表。請註意,sys.dm_os_latch_stats 將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 以及 LATCH_DT 等待分到一組。 |
LATCH_EX |
等待 EX(排他)閂鎖時出現。它不包括緩沖區閂鎖或事務標記閂鎖。sys.dm_os_latch_stats 中提供了 LATCH_* waits 的列表。請註意,sys.dm_os_latch_stats 將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 以及 LATCH_DT 等待分到一組。 |
LATCH_KP |
等待 KP(保持)閂鎖時出現。它不包括緩沖區閂鎖或事務標記閂鎖。sys.dm_os_latch_stats 中提供了 LATCH_* waits 的列表。請註意,sys.dm_os_latch_stats 將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 以及 LATCH_DT 等待分到一組。 |
LATCH_NL |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
LATCH_SH |
等待 SH(共享)閂鎖時出現。它不包括緩沖區閂鎖或事務標記閂鎖。sys.dm_os_latch_stats 中提供了 LATCH_* waits 的列表。請註意,sys.dm_os_latch_stats 將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 以及 LATCH_DT 等待分到一組。 |
LATCH_UP |
等待 UP(更新)閂鎖時出現。它不包括緩沖區閂鎖或事務標記閂鎖。sys.dm_os_latch_stats 中提供了 LATCH_* waits 的列表。請註意,sys.dm_os_latch_stats 將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 以及 LATCH_DT 等待分到一組。 |
LAZYWRITER_SLEEP |
當惰性編寫器被掛起時出現。正在等待的後臺任務所用時間的度量值。在查找用戶阻隔點所時不要考慮該狀態。 |
LCK_M_BU |
當某任務正在等待獲取大容量更新 (BU) 鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_IS |
當某任務正在等待獲取意向共享 (IS) 鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_IU |
當某任務正在等待獲取意向更新 (IU) 鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_IX |
當某任務正在等待獲取意向排他 (IX) 鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RIn_NL |
當某任務正在等待獲取當前鍵值上的 NULL 鎖以及當前鍵和上一個鍵之間的插入範圍鎖時出現。鍵上的 NULL 鎖是指立即釋放的鎖。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RIn_S |
當某任務正在等待獲取當前鍵值上的共享鎖以及當前鍵和上一個鍵之間的插入範圍鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RIn_U |
任務正在等待獲取當前鍵值上的更新鎖以及當前鍵和上一個鍵之間的插入範圍鎖。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RIn_X |
當某任務正在等待獲取當前鍵值上的排他鎖以及當前鍵和上一個鍵之間的插入範圍鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RS_S |
當某任務正在等待獲取當前鍵值上的共享鎖以及當前鍵和上一個鍵之間的共享範圍鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RS_U |
當某任務正在等待獲取當前鍵值上的更新鎖以及當前鍵和上一個鍵之間的更新範圍鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RX_S |
當某任務正在等待獲取當前鍵值上的共享鎖以及當前鍵和上一個鍵之間的排他範圍鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RX_U |
當某任務正在等待獲取當前鍵值上的更新鎖以及當前鍵和上一個鍵之間的排他範圍鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_RX_X |
當某任務正在等待獲取當前鍵值上的排他鎖以及當前鍵和上一個鍵之間的排他範圍鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_S |
當某任務正在等待獲取共享鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_SCH_M |
當某任務正在等待獲取架構修改鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_SCH_S |
當某任務正在等待獲取架構共享鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_SIU |
當某任務正在等待獲取共享意向更新鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_SIX |
當某任務正在等待獲取共享意向排他鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_U |
當某任務正在等待獲取更新鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_UIX |
當某任務正在等待獲取更新意向排他鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LCK_M_X |
當某任務正在等待獲取排他鎖時出現。有關鎖兼容性矩陣,請參閱 sys.dm_tran_locks (Transact-SQL)。 |
LOGBUFFER |
當某任務正在等待日誌緩沖區的空間以存儲日誌記錄時出現。連續的高值可能指示日誌設備無法跟上服務器生成的日誌量。 |
LOGGENERATION |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
LOGMGR |
在數據庫關閉過程中,當某任務正在等待任何未完成的日誌 I/O 在關閉日誌之前完成時出現。 |
LOGMGR_FLUSH |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
LOGMGR_QUEUE |
在日誌編寫器任務等待工作請求時出現。 |
LOGMGR_RESERVE_APPEND |
當某任務正在等待查看日誌截斷是否能釋放日誌空間以使該任務能寫入新的日誌記錄時出現。請考慮為受影響的數據庫增加日誌文件的大小以減少該等待時間。 |
LOWFAIL_MEMMGR_QUEUE |
在等待可用內存期間出現。 |
MISCELLANEOUS |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
MSQL_DQ |
當某任務正在等待分布式查詢操作完成時出現。它用於檢測潛在的多個活動的結果集 (MARS) 應用程序死鎖。該等待將在分布式查詢調用完成時結束。 |
MSQL_XACT_MGR_MUTEX |
當某任務正在等待獲取會話事務管理器的所有權以執行會話級別事務操作時出現。 |
MSQL_XACT_MUTEX |
在事務使用同步期間出現。請求必須先獲取互斥體才可以使用事務。 |
MSQL_XP |
當某任務正在等待擴展存儲過程結束時出現。SQL Server 使用該等待狀態檢測潛在的 MARS 應用程序死鎖。該等待將在擴展存儲過程調用結束時停止。 |
MSSEARCH |
在全文搜索調用期間出現。該等待在全文操作完成時結束。它不指示爭用,而指示全文操作的持續時間。 |
NET_WAITFOR_PACKET |
在網絡讀取過程中連接正在等待網絡數據包時出現。 |
OLEDB |
在 SQL Server 調用 SQL Server Native Client OLE DB 訪問接口時出現。該等待類型不用於同步。而是用於指示調用 OLE DB 訪問接口的持續時間。 |
ONDEMAND_TASK_QUEUE |
在後臺任務等待高優先級系統任務請求時出現。長時間的等待指示一直沒有要處理的高優先級請求,不應引起關註。 |
PAGEIOLATCH_DT |
在任務等待 I/O 請求中緩沖區的閂鎖時發生。閂鎖請求處於“破壞”模式。長時間的等待可能指示磁盤子系統出現問題。 |
PAGEIOLATCH_EX |
在任務等待 I/O 請求中緩沖區的閂鎖時發生。閂鎖請求處於“獨占”模式。長時間的等待可能指示磁盤子系統出現問題。 |
PAGEIOLATCH_KP |
在任務等待 I/O 請求中緩沖區的閂鎖時發生。閂鎖請求處於“保持”模式。長時間的等待可能指示磁盤子系統出現問題。 |
PAGEIOLATCH_NL |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
PAGEIOLATCH_SH |
在任務等待 I/O 請求中緩沖區的閂鎖時發生。閂鎖請求處於“共享”模式。長時間的等待可能指示磁盤子系統出現問題。 |
PAGEIOLATCH_UP |
在任務等待 I/O 請求中緩沖區的閂鎖時發生。閂鎖請求處於“更新”模式。長時間的等待可能指示磁盤子系統出現問題。 |
PAGELATCH_DT |
在任務等待不處於 I/O 請求中的緩沖區閂鎖時發生。閂鎖請求處於“破壞”模式。 |
PAGELATCH_EX |
在任務等待不處於 I/O 請求中的緩沖區閂鎖時發生。閂鎖請求處於“獨占”模式。 |
PAGELATCH_KP |
在任務等待不處於 I/O 請求中的緩沖區閂鎖時發生。閂鎖請求處於“保持”模式。 |
PAGELATCH_NL |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
PAGELATCH_SH |
在任務等待不處於 I/O 請求中的緩沖區閂鎖時發生。閂鎖請求處於“共享”模式。 |
PAGELATCH_UP |
在任務等待不處於 I/O 請求中的緩沖區閂鎖時發生。閂鎖請求處於“更新”模式。 |
PARALLEL_BACKUP_QUEUE |
在序列化由 RESTORE HEADERONLY、RESTORE FILELISTONLY 或 RESTORE LABELONLY 生成的輸出時出現。 |
PREEMPTIVE_ABR |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
PREEMPTIVE_AUDIT_ACCESS_EVENTLOG |
在 SQL Server 操作系統 (SQLOS) 計劃程序切換到搶先模式時發生,以便將審核事件寫入 Windows 事件日誌。 |
PREEMPTIVE_AUDIT_ACCESS_SECLOG |
在 SQLOS 計劃程序切換到搶先模式時發生,以便將審核事件寫入 Windows 安全日誌。 |
PREEMPTIVE_CLOSEBACKUPMEDIA |
在 SQLOS 計劃程序切換到搶先模式時發生,以便關閉備份介質。 |
PREEMPTIVE_CLOSEBACKUPTAPE |
在 SQLOS 計劃程序切換到搶先模式時發生,以便關閉磁帶備份設備。 |
PREEMPTIVE_CLOSEBACKUPVDIDEVICE |
在 SQLOS 計劃程序切換到搶先模式時發生,以便關閉虛擬備份設備。 |
PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL |
在 SQLOS 計劃程序切換到搶先模式時發生,以便執行故障轉移群集操作。 |
PREEMPTIVE_COM_COCREATEINSTANCE |
在 SQLOS 計劃程序切換到搶先模式時發生,以便創建 COM 對象。 |
PREEMPTIVE_SOSTESTING |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
PREEMPTIVE_STRESSDRIVER |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
PREEMPTIVE_TESTING |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
PREEMPTIVE_XETESTING |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
PRINT_ROLLBACK_PROGRESS |
用於等待用戶進程在已通過 ALTER DATABASE 終止子句完成轉換的數據庫中結束。有關詳細信息,請參閱 ALTER DATABASE (Transact-SQL)。 |
QPJOB_KILL |
指示異步統計信息自動更新在開始運行時通過調用 KILL 命令而取消。終止線程處於掛起狀態,等待它開始偵聽 KILL 命令。正常情況下,該值不到一秒鐘。 |
QPJOB_WAITFOR_ABORT |
指示異步統計信息自動更新在運行時通過調用 KILL 命令而取消。目前更新已完成,但是在終止線程消息協調完成之前一直於掛起狀態。這是一個普通而少見的狀態,應當非常短暫。正常情況下,該值不到一秒鐘。 |
QRY_MEM_GRANT_INFO_MUTEX |
當查詢執行內存管理嘗試控制對靜態授予信息列表的訪問時出現。該狀態列出當前已批準的內存請求以及正在等待的內存請求的有關信息。該狀態是一個簡單的訪問控制狀態。該狀態始終不應當等待較長的時間。如果未釋放互斥體,則所有占用內存的新查詢都將停止響應。 |
QUERY_ERRHDL_SERVICE_DONE |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
QUERY_EXECUTION_INDEX_SORT_EVENT_OPEN |
當脫機創建索引生成以並行方式運行,並且正在排序的不同工作線程同步訪問排序文件時出現。 |
QUERY_NOTIFICATION_MGR_MUTEX |
在查詢通知管理器中的垃圾收集隊列同步期間出現。 |
QUERY_NOTIFICATION_SUBSCRIPTION_MUTEX |
在查詢通知中事務的狀態同步期間出現。 |
QUERY_NOTIFICATION_TABLE_MGR_MUTEX |
在查詢通知管理器中的內部同步期間出現。 |
QUERY_NOTIFICATION_UNITTEST_MUTEX |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
QUERY_OPTIMIZER_PRINT_MUTEX |
在查詢優化器診斷信息輸出生成的同步期間出現。該等待類型僅在診斷設置已根據 Microsoft 產品支持的說明啟用後出現。 |
QUERY_TRACEOUT |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
QUERY_WAIT_ERRHDL_SERVICE |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
RECOVER_CHANGEDB |
在備用數據庫中同步數據庫狀態期間出現。 |
REPL_CACHE_ACCESS |
在同步復制項目緩存的期間出現。在這些等待期間,復制日誌讀取器將停止,已發布表中的數據定義語言 (DDL) 語句也將被阻止。 |
REPL_SCHEMA_ACCESS |
在同步復制架構版本信息的期間出現。該狀態在下列情況下存在:針對復制對象執行 DDL 語句時,以及日誌讀取器根據 DDL 出現次數生成或使用版本控制架構時。 |
REPLICA_WRITES |
在任務等待將頁寫入數據庫快照或 DBCC 副本的操作完成時出現。 |
REQUEST_DISPENSER_PAUSE |
在任務等待所有未完成的 I/O 完成時出現,以便可以為快照備份凍結文件的 I/O。 |
REQUEST_FOR_DEADLOCK_SEARCH |
在死鎖監視器等待開始下一次死鎖搜索時出現。在兩次死鎖檢測之間可能出現該等待,長時間等待此資源並不指示出現問題。 |
RESMGR_THROTTLED |
在有新請求傳入並且基於 GROUP_MAX_REQUESTS 設置而中止時出現。 |
RESOURCE_QUEUE |
在同步不同的內部資源隊列期間出現。 |
RESOURCE_SEMAPHORE |
當由於存在其他並發查詢而無法立即批準查詢內存請求時出現。等待時間較長或等待次數較多可能指示並發查詢的數量過多或內存請求的數量過多。 |
RESOURCE_SEMAPHORE_MUTEX |
在查詢等待其保留線程的請求完成時出現。它也在同步查詢編譯和內存授予請求時出現。 |
RESOURCE_SEMAPHORE_QUERY_COMPILE |
在並發查詢編譯的數量達到中止限制時出現。等待時間較長或等待次數較多可能指示編譯、重新編輯或不可緩存的計劃過多。 |
RESOURCE_SEMAPHORE_SMALL_QUERY |
當由於存在其他並發查詢而無法立即批準較小查詢的內存請求時出現。等待時間不應超過幾秒鐘,因為如果服務器無法在幾秒鐘內給予請求的內存,則會將請求傳輸到主查詢內存池中。等待時間較長可能指示當主內存池被等待的查詢阻塞時並發小查詢的數量過多。 |
SEC_DROP_TEMP_KEY |
在嘗試刪除臨時安全密鑰失敗之後並在重試之前出現。 |
SECURITY_MUTEX |
當等待互斥體時出現,這些互斥體控制對可擴展的密鑰管理 (EKM) 加密提供程序的全局列表以及 EKM 會話的會話作用域列表的訪問。 |
SEQUENTIAL_GUID |
當正在獲取新的連續 GUID 時出現。 |
SERVER_IDLE_CHECK |
當資源監視器正在嘗試將 SQL Server 實例聲明為空閑或正在嘗試喚醒時,在 SQL Server 實例空閑狀態的同步期間出現。 |
SHUTDOWN |
在關閉語句等待活動連接退出時出現。 |
SLEEP_BPOOL_FLUSH |
當檢查點為了避免磁盤子系統泛濫而中止新 I/O 的發布時出現。 |
SLEEP_DBSTARTUP |
在等待所有數據庫恢復時數據庫的啟動期間出現。 |
SLEEP_DCOMSTARTUP |
通常在等待 DCOM 初始化完成時 SQL Server 實例的啟動期間出現。 |
SLEEP_MSDBSTARTUP |
在 SQL 跟蹤等待 msdb 數據庫完成啟動時出現。 |
SLEEP_SYSTEMTASK |
在等待 tempdb 完成啟動時後臺任務的啟動期間出現。 |
SLEEP_TASK |
當任務在等待一般事件出現期間睡眠時出現。 |
SLEEP_TEMPDBSTARTUP |
在任務等待 tempdb 完成啟動時出現。 |
SNI_CRITICAL_SECTION |
在 SQL Server 網絡組件中進行內部同步期間出現。 |
SNI_HTTP_WAITFOR_0_DISCON |
在等待未完成的 HTTP 連接退出的過程中 SQL Server 的關閉期間出現。 |
SNI_LISTENER_ACCESS |
當等待非一致性內存訪問 (NUMA) 節點更新狀態更改時出現。已序列化對狀態更改的訪問。 |
SNI_TASK_COMPLETION |
當在 NUMA 節點狀態更改期間等待所有任務完成時出現。 |
SOAP_READ |
在等待 HTTP 網絡讀取完成時出現。 |
SOAP_WRITE |
在等待 HTTP 網絡寫入完成時出現。 |
SOS_CALLBACK_REMOVAL |
在為了刪除回調而對回調列表執行同步期間出現。服務器初始化完成之後,此計數器可能不會更改。 |
SOS_DISPATCHER_MUTEX |
在調度程序池進行內部同步期間出現。包括調整該池時。 |
SOS_LOCALALLOCATORLIST |
在 SQL Server 內存管理器中進行內部同步期間出現。 |
SOS_MEMORY_USAGE_ADJUSTMENT |
在池之間調整內存使用情況時出現。 |
SOS_OBJECT_STORE_DESTROY_MUTEX |
當破壞池中的對象時在內存池中進行內部同步期間出現。 |
SOS_PROCESS_AFFINITY_MUTEX |
在同步訪問進程關聯設置期間出現。 |
SOS_RESERVEDMEMBLOCKLIST |
在 SQL Server 內存管理器中進行內部同步期間出現。 |
SOS_SCHEDULER_YIELD |
在任務自願為要執行的其他任務生成計劃程序時出現。在該等待期間任務正在等待其量程更新。 |
SOS_SMALL_PAGE_ALLOC |
在分配和釋放由某些內存對象管理的內存時出現。 |
SOS_STACKSTORE_INIT_MUTEX |
在內部存儲初始化同步期間出現。 |
SOS_SYNC_TASK_ENQUEUE_EVENT |
在任務以同步方式啟動時出現。SQL Server 中的大多數任務都以同步方式啟動,在此方式中控制權在任務請求放置在工作隊列之後立即返回到啟動器。 |
SOS_VIRTUALMEMORY_LOW |
在內存分配等待資源管理器釋放虛擬內存時出現。 |
SOSHOST_EVENT |
當宿主組件(如 CLR)在 SQL Server 事件同步對象中等待時出現。 |
SOSHOST_INTERNAL |
在宿主組件(如 CLR)使用的內存管理器回調同步期間出現。 |
SOSHOST_MUTEX |
當宿主組件(如 CLR)在 SQL Server 互斥體同步對象中等待時出現。 |
SOSHOST_RWLOCK |
當宿主組件(如 CLR)在 SQL Server 讀取器編寫器同步對象中等待時出現。 |
SOSHOST_SEMAPHORE |
當宿主組件(如 CLR)在 SQL Server 信號量同步對象中等待時出現。 |
SOSHOST_SLEEP |
當宿主任務在等待一般事件出現期間睡眠時出現。宿主任務由宿主組件(如 CLR)使用。 |
SOSHOST_TRACELOCK |
在同步訪問跟蹤流期間出現。 |
SOSHOST_WAITFORDONE |
在宿主組件(如 CLR)等待任務完成時出現。 |
SQLCLR_APPDOMAIN |
在 CLR 等待應用程序域完成啟動時出現。 |
SQLCLR_ASSEMBLY |
在等待訪問 appdomain 中已加載的程序集列表時出現。 |
SQLCLR_DEADLOCK_DETECTION |
在 CLR 等待死鎖檢測完成時出現。 |
SQLCLR_QUANTUM_PUNISHMENT |
在 CLR 任務由於已經超過了其執行量程而中止時出現。此中止已完成,以便減小此大量消耗資源的任務對其他任務的影響。 |
SQLSORT_NORMMUTEX |
在初始化內部排序結構時進行內部同步期間出現。 |
SQLSORT_SORTMUTEX |
在初始化內部排序結構時進行內部同步期間出現。 |
SQLTRACE_BUFFER_FLUSH |
當某任務正在等待後臺任務將跟蹤緩沖區每隔四秒刷新到磁盤時出現。 |
SQLTRACE_LOCK |
在文件跟蹤過程中同步跟蹤緩沖區期間出現。 |
SQLTRACE_SHUTDOWN |
在跟蹤關閉等待未完成的跟蹤事件完成時出現。 |
SQLTRACE_WAIT_ENTRIES |
在 SQL 跟蹤事件隊列等待數據包到達隊列時出現。 |
SRVPROC_SHUTDOWN |
在關閉進程等待內部資源釋放以完全關閉時出現。 |
TEMPOBJ |
在臨時對象刪除同步時出現。該等待很少出現,僅在任務已請求 temp 表的獨占訪問刪除時出現。 |
THREADPOOL |
當某任務正在等待工作線程運行時出現。這可能指示最大工作線程數設置過低,或批處理執行時間過長,從而減少可滿足其他批處理的工作線程數。 |
TIMEPRIV_TIMEPERIOD |
在擴展事件計時器進行內部同步期間出現。 |
TRACEWRITE |
當 SQL 跟蹤行集跟蹤提供程序等待可用緩沖區或可處理事件的緩沖區時出現。 |
TRAN_MARKLATCH_DT |
在等待事務標記閂鎖中的破壞模式閂鎖時出現。事務標記閂鎖用於同步提交與標記的事務。 |
TRAN_MARKLATCH_EX |
在等待標記事務中的排他模式閂鎖時出現。事務標記閂鎖用於同步提交與標記的事務。 |
TRAN_MARKLATCH_KP |
在等待標記事務中的保持模式閂鎖時出現。事務標記閂鎖用於同步提交與標記的事務。 |
TRAN_MARKLATCH_NL |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
TRAN_MARKLATCH_SH |
在等待標記事務中的共享模式閂鎖時出現。事務標記閂鎖用於同步提交與標記的事務。 |
TRAN_MARKLATCH_UP |
在等待標記事務中的更新模式閂鎖時出現。事務標記閂鎖用於同步提交與標記的事務。 |
TRANSACTION_MUTEX |
在同步多個批處理訪問事務期間出現。 |
UTIL_PAGE_ALLOC |
在內存不足期間事務日誌掃描等待可用內存時出現。 |
VIA_ACCEPT |
當在啟動過程中完成虛擬接口適配器 (VIA) 提供程序連接時出現。 |
VIEW_DEFINITION_MUTEX |
在同步訪問已緩存的視圖定義期間出現。 |
WAIT_FOR_RESULTS |
在等待查詢通知觸發時出現。 |
WAITFOR |
顯示為 WAITFOR Transact-SQL 語句的結果。等待持續時間由此語句的參數確定。它是用戶啟動的等待。 |
WAITFOR_TASKSHUTDOWN |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
WAITSTAT_MUTEX |
在同步訪問用於填充 sys.dm_os_wait_stats 的統計信息集期間出現。 |
WCC |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
WORKTBL_DROP |
在刪除出現故障的工作表之後,重試之前的暫停期間出現。 |
WRITE_COMPLETION |
當正在進行寫操作時出現。 |
WRITELOG |
等待日誌刷新完成時出現。導致日誌刷新的常見操作是檢查點和事務提交。 |
XACT_OWN_TRANSACTION |
在等待獲取事務的所有權時出現。 |
XACT_RECLAIM_SESSION |
在等待會話的當前所有者釋放會話的所有權時出現。 |
XACTLOCKINFO |
在同步訪問事務鎖列表期間出現。除事務本身之外,在頁拆分過程中死鎖檢測和鎖遷移等操作也可訪問鎖列表。 |
XACTWORKSPACE_MUTEX |
在同步事務中的脫離以及事務登記成員之間的數據庫鎖數時出現。 |
XE_BUFFERMGR_ALLPROCESSED_EVENT |
在擴展事件會話緩沖區刷新到目標時發生。此等待在後臺線程上發生。 |
XE_BUFFERMGR_FREEBUF_EVENT |
當下列任一條件成立時發生:
|
XE_DISPATCHER_CONFIG_SESSION_LIST |
在使用異步目標的擴展事件會話啟動或停止時發生。此等待表明發生了以下某一情況:
|
XE_DISPATCHER_JOIN |
在用於擴展事件會話的後臺線程終止時發生。 |
XE_DISPATCHER_WAIT |
在用於擴展事件會話的後臺線程等待事件緩沖區進行處理時發生。 |
XE_MODULEMGR_SYNC |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
XE_OLS_LOCK |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
XE_PACKAGE_LOCK_BACKOFF |
標識為僅供參考。不提供支持。不保證以後的兼容性。 |
sql server等待類型