Tenho uma Enterprise Edition do SQL 2016 SP1, que possui um banco de dados com Query Store ativo.
Desejo pesquisar uma palavra ou comando específico nas consultas salvas. Já pesquisei e não vi nada. Nesse caso, quero encontrar 'SHRINK', mas a mesma abordagem deve ser usada para qualquer texto na consulta armazenada.
Antecipando o "por quê?" Comente. Eu tenho um aplicativo de fornecedor que faz muito trabalho e reduz o banco de dados e os arquivos de log. Estou tentando encontrar a consulta que faz isso.
Como pesquisar no Query Store por uma palavra ou comando específico em uma consulta?
Como sp_BlitzErik mencionou em um comentário, e como coletei em minha própria pesquisa, você pode encontrar algumas coisas,
sys.query_store_query_text
mas não necessariamente sempre em um arquivoSHRINK
.Esta consulta retorna 22.497 resultados:
Esta consulta não retorna nenhum, exceto na segunda vez que eu a executo :)
A base da consulta acima vem de uma postagem SQL com Bert .
Um colega de trabalho me mostrou uma consulta que encontra o psiquiatra, a hora e o login de quem fez isso. Então, eu tenho o que preciso para o meu problema específico, mas isso é um passo lateral da minha pergunta.
Minha solução alternativa usa o rastreamento de consulta padrão. Ele mostra vários recentes
DBCC Shrinkdatabase ('MyDB', TRUNCATEONLY)
que são executados no banco de dados mestre , que não possui armazenamento de consultas.Uma
DBCC SHRINKFILE
execução no contexto de um banco de dados com o repositório de consultas habilitado é registrada no repositório de consultas.