sys.query_store_wait_stats (Transact-SQL)

適用於: SQL Server 2017 (14.x) 和更新版本 Azure SQL Database

包含查詢等候資訊的相關資訊。

資料行名稱 資料類型 描述
wait_stats_id bigint 代表plan_id、runtime_stats_interval_id、execution_type和wait_category等候統計資料的資料列識別碼。 它僅適用于過去的執行時間統計資料間隔。 針對目前使用中的間隔,可能會有多個資料列代表plan_id所參考之計畫的等候統計資料,而執行類型是由 execution_type 所代表,以及以 wait_category 表示的等候類別。 一般而言,一個資料列代表排清到磁片的等候統計資料,而其他資料列則代表記憶體內部狀態。 因此,若要取得每個間隔的實際狀態,您需要匯總計量、依plan_id、runtime_stats_interval_id、execution_type和wait_category分組。
plan_id bigint 外鍵。 聯結至 sys.query_store_plan (Transact-SQL)
runtime_stats_interval_id bigint 外鍵。 聯結至 sys.query_store_runtime_stats_interval (Transact-SQL)
wait_category tinyint 等候類型會使用下表進行分類,然後跨這些等候類別匯總等候時間。 不同的等候類別需要不同的後續分析來解決問題,但相同類別的等候類型會導致類似的疑難排解體驗,並提供受影響的查詢,除了等候之外,還有遺漏的部分可順利完成大部分這類調查。
wait_category_desc nvarchar(128) 如需等候類別欄位的文字描述,請檢閱下表。
execution_type tinyint 決定查詢執行的類型:

0 - 定期執行 (成功完成)

3 - 用戶端起始中止執行

4 - 例外狀況中止執行
execution_type_desc nvarchar(128) 執行類型欄位的文字描述:

0 - 一般

3 - 中止

4 - 例外狀況
total_query_wait_time_ms bigint 匯總間隔和等候類別內的查詢計劃總 CPU wait 時間(以毫秒為單位報告)。
avg_query_wait_time_ms float 匯總間隔和等候類別中每個執行的查詢計劃平均等候持續時間(以毫秒為單位報告)。
last_query_wait_time_ms bigint 匯總間隔和等候類別中查詢計劃的上次等候持續時間(以毫秒為單位報告)。
min_query_wait_time_ms bigint 匯總間隔和等候類別內的查詢計劃最短 CPU wait 時間(以毫秒為單位報告)。
max_query_wait_time_ms bigint 匯總間隔和等候類別內查詢計劃的時間上限 CPU wait (以毫秒為單位報告)。
stdev_query_wait_time_ms float Query wait 匯總間隔和等候類別內查詢計劃的持續時間標準差(以毫秒為單位報告)。
replica_group_id bigint 識別此複本的複本集編號。 sys.query_store_replicas外鍵

適用於:SQL Server (從 SQL Server 2022 (16.x) 開始)

等候類別對應資料表

「%」 用來做為萬用字元

整數值 等候類別 等候類型包含在類別中
0 Unknown 未知
1 CPU SOS_SCHEDULER_YIELD
2 背景工作執行緒* THREADPOOL
3 鎖定 LCK_M_%
4 閂鎖 LATCH_%
5 緩衝區閂鎖 PAGELATCH_%
6 緩衝區 IO PAGEIOLATCH_%
7 編譯* RESOURCE_SEMAPHORE_QUERY_COMPILE
8 SQL CLR CLR%、SQLCLR%
9 鏡像 DBMIRROR%
10 交易 XACT、DTC%、TRAN_MARKLATCH_%、MSQL_XACT_%、TRANSACTION_MUTEX
11 閒置 SLEEP_%、LAZYWRITER_SLEEP、SQLTRACE_BUFFER_FLUSH、SQLTRACE_INCREMENTAL_FLUSH_SLEEP、SQLTRACE_WAIT_ENTRIES、FT_IFTS_SCHEDULER_IDLE_WAIT、XE_DISPATCHER_WAIT、REQUEST_FOR_DEADLOCK_SEARCH、LOGMGR_QUEUE、ONDEMAND_TASK_QUEUE、CHECKPOINT_QUEUE、XE_TIMER_EVENT
12 先發制人 PREEMPTIVE_%
13 Service Broker BROKER_% (但不BROKER_RECEIVE_WAITFOR)
14 Tran Log IO LOGMGR、LOGBUFFER、LOGMGR_RESERVE_APPEND、LOGMGR_FLUSH、LOGMGR_PMM_LOG、CHKPT、WRITELOG
15 網路 IO ASYNC_NETWORK_IO、NET_WAITFOR_PACKET、PROXY_NETWORK_IO、EXTERNAL_SCRIPT_NETWORK_IOF
16 平行處理原則 CXCONSUMER、CXPACKET、CXSYNC_CONSUMER、CXSYNC_PORT、EXCHANGE、HT%、BMP%、BP%
17 記憶體 RESOURCE_SEMAPHORE、CMEMTHREAD、CMEMPARTITIONED、EE_PMOLOCK、MEMORY_ALLOCATION_EXT、RESERVED_MEMORY_ALLOCATION_EXT、MEMORY_GRANT_UPDATE
18 使用者等候 WAITFOR、WAIT_FOR_RESULTS、BROKER_RECEIVE_WAITFOR
19 追蹤 TRACEWRITE、SQLTRACE_LOCK、SQLTRACE_FILE_BUFFER、SQLTRACE_FILE_WRITE_IO_COMPLETION、SQLTRACE_FILE_READ_IO_COMPLETION、SQLTRACE_PENDING_BUFFER_WRITERS、SQLTRACE_SHUTDOWN、QUERY_TRACEOUT、TRACE_EVTNOTIFF
20 全文檢索搜尋 FT_RESTART_CRAWL、FULLTEXT GATHERER、MSSEARCH、FT_METADATA_MUTEX、FT_IFTSHC_MUTEX、FT_IFTSISM_MUTEX、FT_IFTS_RWLOCK、FT_COMPROWSET_RWLOCK、FT_MASTER_MERGE、FT_PROPERTYLIST_CACHE、FT_MASTER_MERGE_COORDINATOR、PWAIT_RESOURCE_SEMAPHORE_FT_PARALLEL_QUERY_SYNC
21 其他磁片 IO ASYNC_IO_COMPLETION、IO_COMPLETION、BACKUPIO、WRITE_COMPLETION、IO_QUEUE_LIMIT、IO_RETRY
22 複寫 SE_REPL_%、REPL_%、HADR_% HADR_THROTTLE_LOG_RATE_GOVERNOR 、PWAIT_HADR_%、REPLICA_WRITES、FCB_REPLICA_WRITE、FCB_REPLICA_READ PWAIT_HADRSIM
23 記錄速率管理員 LOG_RATE_GOVERNOR、POOL_LOG_RATE_GOVERNOR、HADR_THROTTLE_LOG_RATE_GOVERNOR、INSTANCE_LOG_RATE_GOVERNOR、RBIO_RG_%

* 查詢存放區只會追蹤查詢 執行 期間的等候統計資料,而不是在查詢 編譯 期間。 這會限制查詢存放區追蹤編譯等候統計資料的能力。

權限

需要 VIEW DATABASE STATE 權限。

下一步

在下列文章中深入瞭解查詢存放區: