適用於: SQL Server 2017 (14.x) 及後續版本
Azure SQL 資料庫
Microsoft Fabric 中的 SQL 資料庫
包含查詢等候信息的相關信息。
| 資料行名稱 | 資料類型 | 描述 |
|---|---|---|
| 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 | 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 | 服務代理程式 | BROKER_% (但不BROKER_RECEIVE_WAITFOR) |
| 14 | Tran 日誌 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 權限。
下一步
在下列文章中深入瞭解 查詢存放區:
- sys.query_store_replicas (Transact-SQL)
- sys.database_query_store_options (Transact-SQL)
- sys.query_context_settings (Transact-SQL)
- sys.query_store_plan (Transact-SQL)
- sys.query_store_query (Transact-SQL)
- sys.query_store_query_text (Transact-SQL)
- sys.query_store_runtime_stats_interval (Transact-SQL)
- 使用查詢存放區監視效能
- 目錄檢視 (Transact-SQL)
- 查詢存放區預存程序 (Transact-SQL)