sys.query_store_wait_stats (Transact-SQL)
Область применения: SQL Server 2017 (14.x) и более поздних версий База данных SQL Azure
Содержит сведения о состоянии ожидания запроса.
Имя столбца | Тип данных | Description |
---|---|---|
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 | ЦП | SOS_SCHEDULER_YIELD |
2 | Рабочий поток* | THREADPOOL |
3 | Заблокировать | LCK_M_% |
4 | Кратковременная блокировка | LATCH_% |
5 | Кратковременная блокировка буфера | PAGELATCH_% |
6 | Ввод-вывод буфера | PAGEIOLATCH_% |
7 | Компиляция* | RESOURCE_SEMAPHORE_QUERY_COMPILE |
8 | SQL CLR | CLR%, SQLCLR% |
9 | Зеркальное отражение | DBMIRROR% |
10 | Проводка | XACT%, DTC%, TRAN_MARKLATCH_%, MSQL_XACT_%, TRANSACTION_MUTEX |
11 | Idle | 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 | Ввод-вывод журнала транзакций | LOGMGR, LOGBUFFER, LOGMGR_RESERVE_APPEND, LOGMGR_FLUSH, LOGMGR_PMM_LOG, CHKPT, WRITELOG |
15 | Сетевой ввод-вывод | ASYNC_NETWORK_IO, NET_WAITFOR_PACKET, PROXY_NETWORK_IO, EXTERNAL_SCRIPT_NETWORK_IOF |
16 | Parallelism | 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 | Другие дисковые операции ввода-вывода | 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)