sys.query_store_wait_stats (Transact-SQL)
Se aplica a: SQL Server 2017 (14.x) y versiones posteriores Azure SQL Database
Contiene información sobre la información de espera de la consulta.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
wait_stats_id | bigint | Identificador de la fila que representa las estadísticas de espera de plan_id, runtime_stats_interval_id, execution_type y wait_category. Solo es único para los intervalos de estadísticas en tiempo de ejecución anteriores. Respecto al intervalo activo actualmente, puede haber varias filas que representan estadísticas de espera del plan al que hace referencia plan_id, con el tipo de ejecución representado por execution_type y la categoría de espera representada por wait_category. Normalmente, una fila representa las estadísticas de espera que se vacían en disco, mientras que otras representan el estado en memoria. Por lo tanto, para obtener el estado real de cada intervalo, debe agregar métricas agrupando por plan_id, runtime_stats_interval_id, execution_type y wait_category. |
plan_id | bigint | Clave externa. Para la combinación con sys.query_store_plan (Transact-SQL). |
runtime_stats_interval_id | bigint | Clave externa. Para la combinación con sys.query_store_runtime_stats_interval (Transact-SQL). |
wait_category | tinyint | Los tipos de espera se clasifican mediante la tabla siguiente y, seguidamente, el tiempo de espera se agrega en estas categorías de espera. Las distintas categorías de espera requieren un análisis de seguimiento diferente para resolver el problema, pero los tipos de espera de la misma categoría dan lugar a experiencias de solución de problemas muy similares; el proporcionar la consulta afectada además de las esperas es la pieza que falta para completar correctamente la mayoría de las investigaciones de este tipo. |
wait_category_desc | nvarchar(128) | Revise la siguiente tabla para obtener una descripción de texto del campo de categoría de espera. |
execution_type | tinyint | Determina el tipo de ejecución de consultas: 0: ejecución normal (finalizada correctamente) 3: ejecución iniciada por el cliente anulada 4: ejecución anulada debido a una excepción |
execution_type_desc | nvarchar(128) | Descripción de texto del campo tipo de ejecución: 0: normal 3: anulada 4 - Excepción |
total_query_wait_time_ms | bigint | Tiempo CPU wait total del plan de consulta dentro del intervalo de agregación y la categoría de espera (se indica en milisegundos). |
avg_query_wait_time_ms | float | Duración media de espera del plan de consulta por ejecución dentro del intervalo de agregación y la categoría de espera (se indica en milisegundos). |
last_query_wait_time_ms | bigint | Duración de la última espera del plan de consulta dentro del intervalo de agregación y la categoría de espera (se indica en milisegundos). |
min_query_wait_time_ms | bigint | Tiempo CPU wait mínimo del plan de consulta dentro del intervalo de agregación y la categoría de espera (se indica en milisegundos). |
max_query_wait_time_ms | bigint | Tiempo CPU wait máximo del plan de consulta dentro del intervalo de agregación y la categoría de espera (se indica en milisegundos). |
stdev_query_wait_time_ms | float | Desviación estándar de duración de Query wait del plan de consulta dentro del intervalo de agregación y la categoría de espera (se indica en milisegundos). |
replica_group_id | bigint | Identifica el número de conjunto de réplicas de esta réplica. Clave externa para sys.query_store_replicas. Se aplica a: SQL Server (a partir de SQL Server 2022 [16.x]) |
Tabla de asignación de categorías de espera
"%" se usa como carácter comodín
Valor entero | Categoría de espera | Tipos de espera incluidos en la categoría |
---|---|---|
0 | Unknown | Unknown |
1 | CPU | SOS_SCHEDULER_YIELD |
2 | Subproceso de trabajo* | THREADPOOL |
3 | Bloquear | LCK_M_% |
4 | Bloqueo temporal | LATCH_% |
5 | Bloqueo temporal del búfer | PAGELATCH_% |
6 | E/S del búfer | PAGEIOLATCH_% |
7 | Compilación* | RESOURCE_SEMAPHORE_QUERY_COMPILE |
8 | SQL CLR | CLR%, SQLCLR% |
9 | Creación de reflejo | DBMIRROR% |
10 | Transacción | 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 | Preferente | PREEMPTIVE_% |
13 | Service Broker | BROKER_% (pero no BROKER_RECEIVE_WAITFOR) |
14 | E/S de registro de transacciones | LOGMGR, LOGBUFFER, LOGMGR_RESERVE_APPEND, LOGMGR_FLUSH, LOGMGR_PMM_LOG, CHKPT, WRITELOG |
15 | E/S de red | ASYNC_NETWORK_IO, NET_WAITFOR_PACKET, PROXY_NETWORK_IO, EXTERNAL_SCRIPT_NETWORK_IOF |
16 | Paralelismo | CXCONSUMER, CXPACKET, CXSYNC_CONSUMER, CXSYNC_PORT, EXCHANGE, HT%, BMP%, BP% |
17 | Memoria | RESOURCE_SEMAPHORE, CMEMTHREAD, CMEMPARTITIONED, EE_PMOLOCK, MEMORY_ALLOCATION_EXT, RESERVED_MEMORY_ALLOCATION_EXT, MEMORY_GRANT_UPDATE |
18 | Espera del usuario | WAITFOR, WAIT_FOR_RESULTS, BROKER_RECEIVE_WAITFOR |
19 | Seguimiento | 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 | Búsqueda 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 | Otra E/S de disco | ASYNC_IO_COMPLETION, IO_COMPLETION, BACKUPIO, WRITE_COMPLETION, IO_QUEUE_LIMIT, IO_RETRY |
22 | Replicación | SE_REPL_%, REPL_%, HADR_% (pero no HADR_THROTTLE_LOG_RATE_GOVERNOR), PWAIT_HADR_%, REPLICA_WRITES, FCB_REPLICA_WRITE, FCB_REPLICA_READ, PWAIT_HADRSIM |
23 | Regulador de la tasa de registro | LOG_RATE_GOVERNOR, POOL_LOG_RATE_GOVERNOR, HADR_THROTTLE_LOG_RATE_GOVERNOR, INSTANCE_LOG_RATE_GOVERNOR, RBIO_RG_% |
* El Almacén de consultas realiza un seguimiento de las estadísticas de espera solo durante la ejecución de la consulta, no durante la compilación de consultas. Esto limita la capacidad del Almacén de consultas de realizar un seguimiento de las estadísticas de espera de compilación.
Permisos
Requiere el permiso VIEW DATABASE STATE
.
Pasos siguientes
Obtenga más información sobre el Almacén de consultas en los artículos siguientes:
- 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)
- Supervisar el rendimiento mediante el Almacén de consultas
- Vistas de catálogo (Transact-SQL)
- Procedimientos almacenados en el almacén de consultas (Transact-SQL)