sys.dm_os_wait_stats 顯示已經完成的等待的時間。此動態管理視圖不顯示當前等待。安全
若是出現下列任一狀況,則不認爲 SQL Server 工做線程處於等待狀態:服務器
資源變得可用。網絡
查詢非空。數據結構
外部進程完成。架構
儘管線程再也不處於等待狀態,可是它沒必要當即開始運行。這是由於此類線程首先放入可運行工做線程的隊列中,而且必須等待量程在計劃程序中運行。併發
在 SQL Server 中,等待時間計數器的數據類型爲 bigint,所以它們不會像 SQL Server 的早期版本中的等效計數器那樣滾動進行計數。app
執行查詢期間的特定等待時間類型能夠說明查詢中存在瓶頸或失效點。一樣,若是服務器級的等待時間較長或等待計數較多,說明服務器實例內交互查詢交互中存在瓶頸或熱點。例如,鎖等待指示查詢爭用數據;頁 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 |
標識爲僅供參考。不提供支持。不保證之後的兼容性。 |