Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores
Banco de dados SQL do Azure
Instância Gerenciada de SQL do Azure
Banco de dados SQL no Microsoft Fabric
Contém informações sobre as relações pai-filho entre as consultas parametrizadas originais (também conhecidas como consultas pai), planos do dispatcher e suas variantes de consulta filho. Esta visualização de catálogo mostra todas as variantes de consulta associadas a um despachante e as consultas parametrizadas originais. Variantes de consulta compartilham o mesmo query_hash valor que visualizadas a partir de sys.query_store_query. Quando você se junta sys.query_store_query_variant com sys.query_store_query e sys.query_store_runtime_stats, é possível obter estatísticas agregadas de uso de recursos para consultas que diferem apenas por seus valores de entrada.
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
query_variant_query_id |
bigint |
Chave primária. ID da variante de consulta confidencial parametrizada. |
parent_query_id |
bigint |
ID da consulta parametrizada original. |
dispatcher_plan_id |
bigint |
ID do plano do dispatcher de otimização de plano sensível a parâmetros. |
Comentários
Como mais de uma variante de consulta pode ser associada a um único plano de despachante, múltiplos planos pertencem às variantes de consulta e contribuem para as estatísticas gerais de uso de recursos da consulta pai. O plano do dispatcher para variantes de consulta não produz estatísticas de tempo de execução na Repositório de Consultas. Como resultado, consultas existentes na Repositório de Consultas não são suficientes para coletar estatísticas gerais, a menos que você inclua uma junção extra à sys.query_store_query_variant visualização.
Permissões
Requer a permissão VIEW DATABASE STATE.
Permissões para SQL Server 2022 e posterior
Requer a VIEW DATABASE PERFORMANCE STATE permissão no banco de dados.
Exemplos
Exibir informações de variantes do Repositório de Consultas
SELECT
qspl.plan_type_desc AS query_plan_type,
qspl.plan_id as query_store_planid,
qspl.query_id as query_store_queryid,
qsqv.query_variant_query_id as query_store_variant_queryid,
qsqv.parent_query_id as query_store_parent_queryid,
qsqv.dispatcher_plan_id as query_store_dispatcher_planid,
OBJECT_NAME(qsq.object_id) as module_name,
qsq.query_hash,
qsqtxt.query_sql_text,
convert(xml,qspl.query_plan)as show_plan_xml,
qsrs.last_execution_time as last_execution_time,
qsrs.count_executions AS number_of_executions,
qsq.count_compiles AS number_of_compiles
FROM sys.query_store_runtime_stats AS qsrs
JOIN sys.query_store_plan AS qspl
ON qsrs.plan_id = qspl.plan_id
JOIN sys.query_store_query_variant qsqv
ON qspl.query_id = qsqv.query_variant_query_id
JOIN sys.query_store_query as qsq
ON qsqv.parent_query_id = qsq.query_id
JOIN sys.query_store_query_text AS qsqtxt
ON qsq.query_text_id = qsqtxt .query_text_id
ORDER BY qspl.query_id, qsrs.last_execution_time;
GO
Exibir informações do dispatcher e da variante do Repositório de Consultas
SELECT
qspl.plan_type_desc AS query_plan_type,
qspl.plan_id as query_store_planid,
qspl.query_id as query_store_queryid,
qsqv.query_variant_query_id as query_store_variant_queryid,
qsqv.parent_query_id as query_store_parent_queryid,
qsqv.dispatcher_plan_id as query_store_dispatcher_planid,
qsq.query_hash,
qsqtxt.query_sql_text,
CONVERT(xml,qspl.query_plan)as show_plan_xml,
qsq.count_compiles AS number_of_compiles,
qsrs.last_execution_time as last_execution_time,
qsrs.count_executions AS number_of_executions
FROM sys.query_store_query qsq
LEFT JOIN sys.query_store_query_text qsqtxt
ON qsq.query_text_id = qsqtxt.query_text_id
LEFT JOIN sys.query_store_plan qspl
ON qsq.query_id = qspl.query_id
LEFT JOIN sys.query_store_query_variant qsqv
ON qsq.query_id = qsqv.query_variant_query_id
LEFT JOIN sys.query_store_runtime_stats qsrs
ON qspl.plan_id = qsrs.plan_id
LEFT JOIN sys.query_store_runtime_stats_interval qsrsi
ON qsrs.runtime_stats_interval_id = qsrsi.runtime_stats_interval_id
WHERE qspl.plan_type = 1 or qspl.plan_type = 2
ORDER BY qspl.query_id, qsrs.last_execution_time;
GO
Conteúdo relacionado
- sys.query_store_plan (Transact-SQL)
- sys.query_store_query (Transact-SQL)
- sys.query_store_runtime_stats (Transact-SQL)
- sys.query_store_wait_stats (Transact-SQL)
- sys.query_store_runtime_stats_interval (Transact-SQL)
- Monitorar o desempenho usando o Repositório de Consultas
- Exibições de catálogo (Transact-SQL)
- Procedimentos armazenados do Repositório de Consultas (Transact-SQL)