Compartilhar via


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: