Localizando a consulta que causa as DMVs de índice ausentes

Respostas:

11

Resposta curta: você não pode com 100% de precisão.

Resposta longa: você pode consultar o cache do plano para identificar planos com avisos de índice ausentes e comparar os resultados com o que encontra em sys.dm_db_missing_index_ * DMVs. Aqui está um script que você pode usar para consultar o cache do plano . Se o plano não for armazenado em cache ou for enviado para fora do cache por qualquer motivo, você não encontrará correspondências, por isso voltamos à resposta curta.

Para ter 100% de certeza, você precisaria rastrear a carga de trabalho e capturar os planos com índices ausentes. Não é leve e não é trivial. Aqui está um script para fazer isso . Com um pequeno esforço, poderia ser portado para Eventos Estendidos.

spaghettidba
fonte
3

Consultando o cache do plano para procurar os índices envolvidos no cálculo da localização de índices ausentes, as DMVs podem ser visualizadas no link colado abaixo:

https://www.sqlskills.com/blogs/jonathan/finding-what-queries-in-the-plan-cache-use-a-specific-index/

e consulte o link também para obter mais explicações sobre o mesmo

http://blogs.lessthandot.com/index.php/datamgmt/dbadmin/sql-server-dba-tip-missing-index-dmv/

KASQLDBA
fonte