sys.query_store_wait_stats (Transact-SQL)
S’applique à : SQL Server 2017 (14.x) et versions ultérieures d’Azure 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 | Inconnu | Inconnu |
1 | UC | SOS_SCHEDULER_YIELD |
2 | Thread de travail* | THREADPOOL |
3 | Verrouiller | 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 :
- 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)
- Analyse des performances à l’aide du magasin de requêtes
- Affichages catalogue (Transact-SQL)
- Procédures stockées du Magasin des requêtes (Transact-SQL)