sys.dm_os_wait_stats (Transact-SQL)
傳回執行之執行緒所遇到之所有等候的相關資訊。您可以使用這份彙總檢視來診斷 SQL Server 的效能問題,以及特定查詢和批次的效能問題。
資料行名稱 |
資料類型 |
說明 |
---|---|---|
wait_type |
nvarchar(60) |
等候類型的名稱。 |
waiting_tasks_count |
bigint |
這個等候類型的等候次數。這個計數器是從每次開始等候時逐量遞增計算。 |
wait_time_ms |
bigint |
這個等候類型的總等候時間 (以毫秒為單位)。這個時間包括 signal_wait_time_ms 在內。 |
max_wait_time_ms |
bigint |
這個等候類型的等候時間上限。 |
signal_wait_time_ms |
bigint |
從等候執行緒接獲訊號到開始執行的時間。 |
權限
需要伺服器的 VIEW SERVER STATE 權限。
備註
等候的類型
資源等候
當工作者要求存取無法使用的資源時 (因為該資源正被另一個工作者使用中,因此還不能使用),會發生資源等候的情形。鎖定、閂鎖、網路和磁碟 I/O 等候,都是資源等候的範例。鎖定和閂鎖等候是同步處理物件的等候。佇列等候
佇列等候發生在工作者因為等候指派工作而閒置時。佇列等候大部分都是在進行系統背景工作 (例如,監視死結和刪除記錄清除工作) 時發生。這些工作會等候工作要求被置於工作佇列。即使沒有新的封包置於佇列中,佇列等候也可能會定期變成使用中狀態。外部等候
外部等候是 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 |
當背景可疑頁面記錄器想要避免執行間隔超過每 5 秒一次時發生。可疑頁面過多將導致記錄器經常執行。 |
BROKER_CONNECTION_RECEIVE_TASK |
在連接端點上等候接收訊息的存取權時發生。端點的接收存取為序列化形式。 每一個 Service Broker (和資料庫鏡像) 連接端點都有一份緩衝區清單,這些緩衝區會從網路接收資料。有兩個執行緒會處理此清單。一個執行緒會公佈要接收資料的緩衝區,另一個執行緒則會在緩衝區收到資料之後處理緩衝區。具體而言,這個等候類型發生在執行緒嘗試存取此清單以加入或移除緩衝區時。 當您解譯這個等候類型的值時,請使用下列指導方針:
|
BROKER_ENDPOINT_STATE_MUTEX |
當存取 Service Broker 或資料庫鏡像連接端點的狀態有爭用狀況時發生。變更的狀態存取為序列化形式。 具體而言,這個等候類型會在以下條件下發生:
當您解譯這個等候類型的值時,請使用下列指導方針:
|
BROKER_EVENTHANDLER |
當 Service Broker 主要事件處理常式中的工作因為下列任何一個情況而等候時發生:
這個等候類型的發生時間應該很短暫。 每一個 SQL Server 執行個體都有主要事件處理常式執行緒,用來處理 Service Broker 啟動、關閉和計時器事件。此執行緒一定會存在,而且不是正在等候這些事件,就是正在處理這些事件。 當您解譯這個等候類型的值時,請使用下列指導方針:
這兩個欄位都不表示發生效能問題。 如果未使用 Service Broker (不論是直接使用還是透過 Database Mail 或事件通知),您應該會看到以下內容:
|
BROKER_INIT |
在每一個作用中資料庫內初始化 Service Broker 時發生。這種情況不常發生。 每當 Service Broker 無法初始化任何資料庫的內部 Broker 管理員時,就會發生這個等候類型。Service Broker 大約會等候 1 秒鐘,然後再執行相同資料庫的重試。 當您解譯這個等候類型的值時,請使用下列指導方針:
|
BROKER_MASTERSTART |
當工作正在等候 Service Broker 的主要事件處理常式啟動時發生。在執行個體啟動期間,當 Service Broker 等候 master 資料庫啟動時,應該會發生此事件,但時間非常短暫。 當您解譯這個等候類型的值時,請使用下列指導方針:
|
BROKER_RECEIVE_WAITFOR |
當 RECEIVE WAITFOR 在等候時發生。如果沒有任何訊息可以接收,則此為標準值。 每個 WAITFOR RECEIVE Transact-SQL 陳述式都會發生這個等候類型一次,其中陳述式執行會等候訊息送達使用者佇列。 當您解譯這個等候類型的值時,請使用下列指導方針:
如果 avg_wait_time_ms 比預期的時間還要高出許多,請檢查起始端和目標伺服器執行個體上的錯誤記錄檔與 SQL Server Profiler 事件,找出潛在的問題。 |
BROKER_REGISTERALLENDPOINTS |
將 Service Broker 或資料庫鏡像連接端點初始化時發生。在執行個體啟動期間,當 Service Broker 等候註冊所有端點類型時,應該會發生此事件,但時間非常短暫。 當您解譯這個等候類型的值時,請使用下列指導方針:
|
BROKER_SERVICE |
當因為在目標服務/Broker 執行個體配對中加入或移除對話,而使得與此執行個體配對有關聯的 Service Broker 下一個躍點目的地因而更新或重新排定優先權時發生。 Service Broker 會根據訊息的優先權,將訊息傳送給這些下一個躍點目的地。因此,目的地清單的存取以及其有效的優先權變更都會是序列化的形式。 當您解譯這個等候類型的值時,請使用下列指導方針:
|
BROKER_SHUTDOWN |
當 Service Broker 計畫關閉時發生。即使發生這個等候類型,時間也應該很短暫。 除非已經開始執行個體關閉,否則 waiting_tasks_count 和 wait_time_ms 都應該是 0。在執行個體關閉期間,Service Broker 會等候幾秒鐘,好讓它的主要事件處理常式和所有連接端點關閉。 |
BROKER_TASK_STOP |
當其中一個 Service Broker 佇列工作處理常式因為沒有內部工作而停止時發生。此工作處理常式在終結之前最多會等候 10 秒鐘,以免它必須重新啟動來執行工作。 Service Broker 有幾個工作處理常式,這些處理常式是用來執行與訊息傳輸、非同步網路作業及接收之訊息的處理有關的內部工作。 在使用量繁重的案例中,waiting_tasks_count 和 wait_time_ms 的值應該都很小。 每隔 5 秒鐘,Service Broker 就會排程內部清除工作。當沒有使用 Service Broker 時,這項工作不會做太多的工作。但是,它會造成其中一個工作處理常式喚醒、重新啟動及執行工作,然後開始等候。因此,如果未使用 Service Broker,您應該會看到以下的值:
|
BROKER_TO_FLUSH |
當 Service Broker 延遲清除器清除工作資料表的記憶體中傳輸物件時發生。 傳輸物件是一個記憶體內部物件,可為對話管理及記錄訊息傳輸的狀態。 基於效能的原因,Service Broker 會維護磁碟上的記憶體內和暫存資料表中的所有傳輸物件。每當更新傳輸物件時,都會排定它來排清至 tempdb 中的暫存資料表。Service Broker 會將「永遠存留的」延遲清除器工作用於這項作業。 如果未使用 Service Broker,您應該會看到以下的值:
當 Service Broker 使用量繁重時,這些資料行的值應該很低,因為延遲清除器將會很忙碌。 |
BROKER_TRANSMITTER |
當 Service Broker 發送器執行緒等候傳送對話訊息時發生。 發送器會排定多個對話中的訊息,這些訊息將會透過一個或多個連接端點在網路上傳送。發送器會針對這個用途來使用兩個專用的執行緒。 waiting_tasks_count 的值很高表示這些執行緒的工作斷斷續續。這不表示有效能問題。 如果未使用 Service Broker,您應該會看到以下的值:
|
BUILTIN_HASHKEY_MUTEX |
可能在啟動執行個體之後,而內部資料結構正在初始化時發生。資料結構初始化之後就不會再次發生。 |
CHECK_PRINT_RECORD |
僅供參考之用。不支援。我們無法保證未來的相容性。 |
CHECKPOINT_QUEUE |
當檢查點工作在等候下一個檢查點要求時發生。 |
CHKPT |
在伺服器啟動時發生,目的在告知檢查點執行緒,它可以啟動了。 |
CLEAR_DB |
在變更資料庫狀態的作業期間發生,例如開啟或關閉資料庫。 |
CLR_AUTO_EVENT |
當工作目前在執行 Common Language Runtime (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 收到 MS DTC 服務已經無法使用的通知之後,Microsoft 分散式交易協調器 (MS DTC) 交易何時復原。 這個狀態也可以描述當 MS DTC 交易的認可是由 SQL Server 起始,而且 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 作業正在等候其他檔案 I/O 作業所使用的 FILESTREAM 代理程式資源時發生。 |
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 等候大量載入 I/O 完成時發生。 |
INTERNAL_TESTING |
僅供參考之用。不支援。我們無法保證未來的相容性。 |
IO_AUDIT_MUTEX |
在同步處理追蹤事件緩衝區時發生。 |
IO_COMPLETION |
在等候 I/O 作業完成時發生。這種等候類型通常代表非資料頁面 I/O。資料頁面 I/O 完成等候會顯示為 PAGEIOLATCH_* 等候。 |
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_* 等候清單。請注意,sys.dm_os_latch_stats 會將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 和 LATCH_DT 等候分組在一起。 |
LATCH_EX |
在等候 EX (獨佔) 閂鎖時發生。其中不包括緩衝區閂鎖或交易標示閂鎖。sys.dm_os_latch_stats 中有提供 LATCH_* 等候清單。請注意,sys.dm_os_latch_stats 會將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 和 LATCH_DT 等候分組在一起。 |
LATCH_KP |
在等候 KP (保留) 閂鎖時發生。其中不包括緩衝區閂鎖或交易標示閂鎖。sys.dm_os_latch_stats 中有提供 LATCH_* 等候清單。請注意,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_* 等候清單。請注意,sys.dm_os_latch_stats 會將 LATCH_NL、LATCH_SH、LATCH_UP、LATCH_EX 和 LATCH_DT 等候分組在一起。 |
LATCH_UP |
在等候 UP (更新) 閂鎖時發生。其中不包括緩衝區閂鎖或交易標示閂鎖。sys.dm_os_latch_stats 中有提供 LATCH_* 等候清單。請注意,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 |
在工作等候分散式查詢作業完成時發生。這種等候類型可用來偵測潛在的 Multiple Active Result Set (MARS) 應用程式死結。等候會隨著分散式查詢呼叫的完成而結束。 |
MSQL_XACT_MGR_MUTEX |
當工作在等候取得工作階段交易管理員的擁有權,以執行工作階段層級交易作業時發生。 |
MSQL_XACT_MUTEX |
在同步處理交易使用量時發生。要求必須先取得 Mutex,才能使用交易。 |
MSQL_XP |
當工作在等候擴充預存程序結束時發生。SQL Server 會使用這個等候狀態來偵測可能發生的 MARS 應用程式死結。這個等候會隨著擴充預存程序呼叫的結束而停止。 |
MSSEARCH |
在使用全文檢索搜尋呼叫時發生。這個等候會隨著全文檢索作業的完成而結束。這並不表示發生爭用情況,而是指出全文檢索作業的持續時間。 |
NET_WAITFOR_PACKET |
當連接在網路讀取期間等候網路封包時發生。 |
OLEDB |
當 SQL Server 呼叫 SQL Server Native Client OLE DB Provider 時發生。這個等候類型不用於同步處理,而會指出呼叫 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 排程器切換到先佔式模式,以便執行 Windows 容錯移轉叢集作業時發生。 |
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 |
當查詢執行記憶體管理試圖控制靜態授與資訊清單的存取時發生。這個狀態會列出目前已授與和等候中之記憶體要求的相關資訊。這個狀態是一種簡單的存取控制狀態。這個狀態應該不會有長時間的等候。如果沒有釋出這個 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 工作階段之工作階段範圍清單存取權的 Mutex 時發生。 |
SEQUENTIAL_GUID |
正在取得新的循序 GUID 時發生。 |
SERVER_IDLE_CHECK |
在資源監視器嘗試將 SQL Server 執行個體宣告為閒置或嘗試喚醒期間,同步處理 SQL Server 執行個體閒置狀態時發生。 |
SHUTDOWN |
在關機陳述式等候使用中的連接結束時發生。 |
SLEEP_BPOOL_FLUSH |
在檢查點調整流速發出新 I/O 之流速以避免磁碟子系統爆滿時發生。 |
SLEEP_DBSTARTUP |
在啟動資料庫期間等候所有資料庫復原時發生。 |
SLEEP_DCOMSTARTUP |
最多只在啟動 SQL Server 執行個體期間等候 DCOM 初始化完成時發生一次。 |
SLEEP_MSDBSTARTUP |
在 SQL 追蹤等候 msdb 資料庫啟動完成時發生。 |
SLEEP_SYSTEMTASK |
在啟動背景工作期間等候 tempdb 啟動完成時發生。 |
SLEEP_TASK |
當工作在等候一般事件發生期間進入睡眠狀態時發生。 |
SLEEP_TEMPDBSTARTUP |
在工作等候 tempdb 完成啟動時發生。 |
SNI_CRITICAL_SECTION |
在 SQL Server 網路元件內執行內部同步處理時發生。 |
SNI_HTTP_WAITFOR_0_DISCON |
在 SQL Server 關機期間等候未處理的 HTTP 連接結束時發生。 |
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 Mutex 同步處理物件時發生。 |
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 |
僅供參考之用。不支援。我們無法保證未來的相容性。 |
變更記錄
更新的內容 |
---|
已經從「等候類型」資料表中移除下列等候類型:
|
在「等候類型」資料表中新增下列等候類型:
|