Consulta no banco de dados AdventureWorks2019 :
SELECT * FROM HumanResources.Department D INNER JOIN HumanResources.EmployeeDepartmentHistory E ON D.DepartmentID = E.DepartmentID
Pergunta : Por que a consulta a seguir não está retornando nenhum dado. Eu esperava que ele retornasse pelo menos uma linha para minha consulta de teste acima. O que pode estar faltando ou entendendo errado aqui?
select
query_text_id,
query_sql_text as query_sql_text
from sys.query_store_query_text where query_sql_text like '%SELECT * FROM HumanResources.Department D INNER JOIN HumanResources.EmployeeDepartmentHistory E ON D.DepartmentID = E.DepartmentID%'
Ref: sys.query_store_query_text
O repositório de consultas está ativado com a configuração padrão.
1. O Repositório de Consultas não está ativado
Você pode verificar o
sys.databases
DMV.2. O Repositório de Consultas é somente leitura
Execute a consulta abaixo no contexto do banco de dados relevante. O
actual_state_desc
deve ser READ_WRITE ereadonly_reason = 0
3. O Repositório de Consultas está correto, mas a consulta não ultrapassou um limite
O padrão
Query_Capture_Mode
para QS é Automático . Escrevi em detalhes sobre os padrões do Query Store no meu blog . Em suma, a consulta deve corresponder a pelo menos uma dessas condições para ser salva.tudo dentro de 24 horas (padrão).
Você pode alterar o modo de captura para TODOS ou corresponder às condições acima.
4. O Repositório de Consultas está correto, a consulta ultrapassou um limite, mas o filtro está errado
Pode haver um erro de digitação no texto da consulta que você está tentando localizar. Ou espaço em branco incompatível. Ou você encontrará a consulta que acabou de usar para encontrar sua consulta. Tente procurar o valor menor, mas distinto.
Outra opção é pegar o hash de consulta do plano estimado ou real ( aqui está um guia de uma postagem de blog diferente) e pesquisar no repositório de consultas pelo hash de consulta exato.
Exemplo: