Estamos usando o SQL Server 2016. Tivemos alguns problemas em termos de duração das consultas em 11/09/2023. Gostaria de verificar no QueryStore e vi no query store executado em 11/09/2023 às 17:00:
Que temos muito mais contagens de execução em 11/09/2023 (cerca de 1150 VS 800 em 08/09/2023). Eu executo a mesma verificação do Query Store em 12/09/2023 e vejo que a contagem de execuções de ontem é muito menor do que verifiquei ontem.
Você sabe por que temos tanta diferença? Além disso, ainda vejo que a contagem de execuções ainda está diminuindo em 11/09/2023.
As configurações do armazenamento de consultas foram adicionadas.
Execução da consulta 14/09/2023 às 9h52:
Execução da consulta 14/09/2023 às 10h53:
Execução da consulta 14/09/2023 12h36: Até 11/09/2023 foi alterado...
A contagem de execução do Query Store na GUI é mapeada para a coluna count_executions em sys.query_store_runtime_stats
Como você está analisando o "Consumo geral de recursos", capturei a consulta subjacente que está sendo chamada com Eventos Estendidos e é mais ou menos assim:
Como quase não há filtro além da data, restam apenas algumas opções.
Sua declaração não foi chamada. Talvez não tenha havido nenhum teste naquele dia, talvez seu código tenha alguma lógica de ramificação, etc.
Alguém eliminou apenas essa consulta do repositório de consultas usando sp_query_store_remove_query ou um plano de consulta com sp_query_store_remove_plan
O Query Store foi temporariamente alterado para somente leitura. Você não pode verificar isso após o fato, mas há opções para monitorar isso com eventos estendidos no futuro, se você suspeitar que este é o caso
EDITAR
Depois de mais informações terem sido apresentadas, estou inclinado a apontar para o
SIZE_BASED_CLEANUP_MODE
A documentação diz:
Isso corresponde à sua captura de tela de 79 MB dos 100 MB usados (aproximadamente 80%)
Você pode criar uma sessão XE para rastrear essa limpeza e garantir
Eu testei em um armazenamento de consultas com tamanho máximo = 10 MB e ele foi executado aproximadamente a cada 15 a 20 minutos.
Executei vários SQL dinâmicos para fazer o Query Store crescer e capturei os agregados de execução e contagem de planos antes e depois da limpeza.
Todo o meu SQL dinâmico era igualmente caro, então os planos mais antigos foram eliminados primeiro.