sys.query_store_wait_stats (Transact-SQL)
Aplica-se a: SQL Server 2017 (14.x) e versões posteriores Banco de Dados SQL do Azure
Contém esclarecimentos sobre as informações de espera para a consulta.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
wait_stats_id | bigint | Identificador da linha que representa estatísticas de espera para o plan_id, runtime_stats_interval_id, execution_type e wait_category. Ele é exclusivo apenas para os intervalos de estatísticas de runtime anteriores. No intervalo que está atualmente ativo, pode haver várias linhas que representam estatísticas de espera para o plano referenciado por plan_id, com o tipo de execução representado por execution_type e a categoria de espera representada por wait_category. Normalmente, uma linha representa estatísticas de espera que são liberadas para o disco, enquanto outras representam o estado na memória. Portanto, para obter o estado real para cada intervalo, você precisa agregar métricas, agrupando por plan_id, runtime_stats_interval_id, execution_type e wait_category. |
plan_id | bigint | Chave estrangeira. Ingressa em sys.query_store_plan (Transact-SQL). |
runtime_stats_interval_id | bigint | Chave estrangeira. Ingressa em sys.query_store_runtime_stats_interval (Transact-SQL). |
wait_category | tinyint | Os tipos de espera são categorizados usando a tabela abaixo e, em seguida, o tempo de espera é agregado entre essas categorias de espera. Categorias de espera diferentes exigem um acompanhamento de análise diferente para resolver o problema, mas os tipos de espera da mesma categoria levam a experiências de solução de problemas semelhantes e o fornecimento da consulta afetada juntamente com as esperas seria a parte que faltava para concluir a maioria dessas investigações de com êxito. |
wait_category_desc | nvarchar(128) | Para obter a descrição textual do campo da categoria de espera, examine a tabela abaixo. |
execution_type | tinyint | Determina o tipo de execução da consulta: 0 – Execução regular (concluída com sucesso) 3 – Execução anulada iniciada pelo cliente 4 – Execução anulada por exceção |
execution_type_desc | nvarchar(128) | Descrição textual do campo tipo de execução: 0 – Regular 3 - Anulado 4 – Exception |
total_query_wait_time_ms | bigint | Tempo total CPU wait para o plano de consulta dentro do intervalo de agregação e da categoria de espera (relatado em milissegundos). |
avg_query_wait_time_ms | float | Duração média de espera para o plano de consulta, por execução, dentro do intervalo de agregação e da categoria de espera (relatado em milissegundos). |
last_query_wait_time_ms | bigint | Duração da última espera para o plano de consulta dentro do intervalo de agregação e da categoria de espera (relatado em milissegundos). |
min_query_wait_time_ms | bigint | Tempo mínimo CPU wait para o plano de consulta dentro do intervalo de agregação e da categoria de espera (relatado em milissegundos). |
max_query_wait_time_ms | bigint | Tempo máximo CPU wait para o plano de consulta dentro do intervalo de agregação e da categoria de espera (relatado em milissegundos). |
stdev_query_wait_time_ms | float | Desvio padrão da duração Query wait para o plano de consulta dentro do intervalo de agregação e da categoria de espera (relatado em milissegundos). |
replica_group_id | bigint | Identifica o número do conjunto de réplicas para essa réplica. Chave estrangeira para sys.query_store_replicas. Aplica-se a: SQL Server (a partir do SQL Server 2022 (16.x)) |
Tabela de mapeamento de categorias de espera
"%" é usado como curinga
Valor inteiro | Categoria de espera | Os tipos de espera são incluídos na categoria |
---|---|---|
0 | Desconhecido | Desconhecido |
1 | CPU | SOS_SCHEDULER_YIELD |
2 | Thread de trabalho* | THREADPOOL |
3 | Lock | LCK_M_% |
4 | Trava | LATCH_% |
5 | Trava do buffer | PAGELATCH_% |
6 | E/S do buffer | PAGEIOLATCH_% |
7 | Compilação* | RESOURCE_SEMAPHORE_QUERY_COMPILE |
8 | SQL CLR | CLR%, SQLCLR% |
9 | Espelhamento | DBMIRROR% |
10 | Transação | 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 | Preemptiva | PREEMPTIVE_% |
13 | Service Broker | BROKER_% (mas não BROKER_RECEIVE_WAITFOR) |
14 | E/S do log de tran | LOGMGR, LOGBUFFER, LOGMGR_RESERVE_APPEND, LOGMGR_FLUSH, LOGMGR_PMM_LOG, CHKPT, WRITELOG |
15 | E/S de Rede | 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 | Memória | RESOURCE_SEMAPHORE, CMEMTHREAD, CMEMPARTITIONED, EE_PMOLOCK, MEMORY_ALLOCATION_EXT, RESERVED_MEMORY_ALLOCATION_EXT, MEMORY_GRANT_UPDATE |
18 | Espera do usuário | WAITFOR, WAIT_FOR_RESULTS, BROKER_RECEIVE_WAITFOR |
19 | Rastreamento | 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 | Pesquisa de texto completo | 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 | E/S de Outro Disco | ASYNC_IO_COMPLETION, IO_COMPLETION, BACKUPIO, WRITE_COMPLETION, IO_QUEUE_LIMIT, IO_RETRY |
22 | Replicação | SE_REPL_%, REPL_%, HADR_% (mas não HADR_THROTTLE_LOG_RATE_GOVERNOR), PWAIT_HADR_%, REPLICA_WRITES, FCB_REPLICA_WRITE, FCB_REPLICA_READ, PWAIT_HADRSIM |
23 | Administrador de taxa de log | LOG_RATE_GOVERNOR, POOL_LOG_RATE_GOVERNOR, HADR_THROTTLE_LOG_RATE_GOVERNOR, INSTANCE_LOG_RATE_GOVERNOR, RBIO_RG_% |
* O Repositório de Consultas rastreia estatísticas de espera somente durante a execução da consulta e não durante a compilação da consulta. Isso restringe a capacidade do Repositório de Consultas de acompanhar as estatísticas de espera de compilação.
Permissões
Requer a permissão VIEW DATABASE STATE
.
Próximas etapas
Saiba mais sobre o Repositório de Consultas nos seguintes artigos:
- 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)
- Monitorando o desempenho com o repositório de consultas
- Exibições do Catálogo (Transact-SQL)
- Procedimentos armazenados do Repositório de Consultas (Transact-SQL)