sys.query_store_wait_stats (Transact-SQL)

S’applique à : SQL Server 2017 (14.x) et versions ultérieuresAzure SQL Database

Contient des détails sur les informations d’attente de la requête.

Nom de la colonne Type de données Description
wait_stats_id bigint Identificateur de la ligne représentant les statistiques d’attente de plan_id, runtime_stats_interval_id, execution_type et wait_category. Il est unique pour les derniers intervalles de statistiques d’exécution du runtime. Pour l’intervalle actif, il peut y avoir plusieurs lignes représentant des statistiques d’attente pour le plan référencé par plan_id, avec le type d’exécution représenté par execution_type et la catégorie d’attente représentée par wait_category. En règle générale, une seule ligne représente les statistiques d’attente vidées sur le disque, tandis que les autres représentent l’état en mémoire. Ainsi, pour obtenir l’état réel de chaque intervalle, vous devez agréger des métriques, en les regroupant par plan_id, runtime_stats_interval_id, execution_type et wait_category.
plan_id bigint Clé étrangère. Se joint à sys.query_store_plan (Transact-SQL).
runtime_stats_interval_id bigint Clé étrangère. Se joint à sys.query_store_runtime_stats_interval (Transact-SQL).
wait_category tinyint Les types d’attente sont classés dans des catégories à l’aide du tableau ci-dessous, puis le temps d’attente est agrégé dans ces catégories d’attente. Les différentes catégories d’attente nécessitent une analyse de suivi différente pour résoudre le problème, mais les types d’attente d’une même catégorie entraînent des expériences de résolution de problèmes similaires et l’indication de la requête affectée en plus des attentes constitue l’élément manquant pour réussir à conclure la majorité de telles investigations.
wait_category_desc nvarchar(128) Pour obtenir une description textuelle du champ de catégorie d’attente, consultez le tableau ci-dessous.
execution_type tinyint Détermine le type d’exécution de requête :

0 - Exécution normale (achevée correctement)

3 - Le client est à l’origine de l’abandon de l’exécution

4 - Abandon d’exécution lié à une exception
execution_type_desc nvarchar(128) Description textuelle du champ de type d’exécution :

0 - Normal

3 - Abandonné

4 - Exception
total_query_wait_time_ms bigint Durée CPU wait totale du plan de requête pendant l’intervalle d’agrégation et dans la catégorie d’attente (signalée en millisecondes).
avg_query_wait_time_ms float Durée moyenne d’attente pour le plan de requête par exécution pendant l’intervalle d’agrégation et dans la catégorie d’attente (signalée en millisecondes).
last_query_wait_time_ms bigint Dernière durée d’attente pour le plan de requête pendant l’intervalle d’agrégation et dans la catégorie d’attente (signalée en millisecondes).
min_query_wait_time_ms bigint Durée CPU wait minimale du plan de requête pendant l’intervalle d’agrégation et dans la catégorie d’attente (signalée en millisecondes).
max_query_wait_time_ms bigint Durée CPU wait maximale du plan de requête pendant l’intervalle d’agrégation et dans la catégorie d’attente (signalée en millisecondes).
stdev_query_wait_time_ms float Écart type de la durée Query wait pour le plan de requête pendant l’intervalle d’agrégation et dans la catégorie d’attente (signalé en millisecondes).
replica_group_id bigint Identifie le numéro du jeu de réplicas de ce réplica. Clé étrangère à sys.query_store_replicas.

S’applique à : SQL Server (à compter de SQL Server 2022 (16.x))

Table de mappage des catégories d’attente

« % » est utilisé comme caractère générique

Valeur entière Catégorie d’attente Types d’attente inclus dans la catégorie
0 Unknown Inconnu
1 UC SOS_SCHEDULER_YIELD
2 Thread de travail* THREADPOOL
3 Verrou LCK_M_%
4 Latch LATCH_%
5 Verrou de tampon PAGELATCH_%
6 E/S de tampon PAGEIOLATCH_%
7 Compilation* RESOURCE_SEMAPHORE_QUERY_COMPILE
8 SQL CLR CLR%, SQLCLR%
9 Mise en miroir DBMIRROR%
10 Transaction 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 Préemptive PREEMPTIVE_%
13 Service Broker BROKER_% (mais pas BROKER_RECEIVE_WAITFOR)
14 E/S de journal des transactions LOGMGR, LOGBUFFER, LOGMGR_RESERVE_APPEND, LOGMGR_FLUSH, LOGMGR_PMM_LOG, CHKPT, WRITELOG
15 E/S réseau ASYNC_NETWORK_IO, NET_WAITFOR_PACKET, PROXY_NETWORK_IO, EXTERNAL_SCRIPT_NETWORK_IOF
16 Parallélisme CXCONSUMER, CXPACKET, CXSYNC_CONSUMER, CXSYNC_PORT, EXCHANGE, HT%, BMP%, BP%
17 Mémoire RESOURCE_SEMAPHORE, CMEMTHREAD, CMEMPARTITIONED, EE_PMOLOCK, MEMORY_ALLOCATION_EXT, RESERVED_MEMORY_ALLOCATION_EXT, MEMORY_GRANT_UPDATE
18 Attente utilisateur WAITFOR, WAIT_FOR_RESULTS, BROKER_RECEIVE_WAITFOR
19 Suivi 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 Recherche en texte intégral 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 Autres E/S de disque ASYNC_IO_COMPLETION, IO_COMPLETION, BACKUPIO, WRITE_COMPLETION, IO_QUEUE_LIMIT, IO_RETRY
22 Réplication SE_REPL_%, REPL_%, HADR_% (but not HADR_THROTTLE_LOG_RATE_GOVERNOR), PWAIT_HADR_%, REPLICA_WRITES, FCB_REPLICA_WRITE, FCB_REPLICA_READ, PWAIT_HADRSIM
23 Gouverneur de taux de journalisation LOG_RATE_GOVERNOR, POOL_LOG_RATE_GOVERNOR, HADR_THROTTLE_LOG_RATE_GOVERNOR, INSTANCE_LOG_RATE_GOVERNOR, RBIO_RG_ %

* Le Magasin des requêtes effectue le suivi des statistiques d’attente uniquement pendant l’exécution, et non pendant la compilation des requêtes. La capacité du Magasin des requêtes à suivre les statistiques d’attente de compilation est ainsi restreinte.

Autorisations

Nécessite l’autorisation VIEW DATABASE STATE.

Étapes suivantes

Découvrez-en plus sur le Magasin des requêtes dans les articles suivants :