Поделиться через


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.

Следующие шаги

Дополнительные сведения о хранилище запросов см. в следующих разделах.