Atualmente, estou confrontado com um banco de dados SQL Server de produção onde alguém adicionou quase todas as propostas de índice ausentes do DTA.
Formulário Como determinar se um índice é obrigatório ou necessário Aprendi que existem exibições DMV, que podem ser usadas para adiar informações sobre o uso real do índice, bem como índices ausentes.
O script de Jason Strate usa apenas as informações atuais dessas visualizações, enquanto Fun for the day - Automated Auto-Indexing! salva algumas informações dessas visualizações em tabelas.
O DTA, por outro lado, requer planejamento de quando executar o criador de perfil, selecionar o que criar perfil e tem algum impacto no desempenho durante a execução.
Minha impressão é que usar o DTA como ferramenta de ajuste de primeira etapa é simplesmente uma perda de tempo e, como seus resultados não cobrem o uso completo do banco de dados, são difíceis de interpretar por novatos e podem levar à adição de muitos índices com impacto negativo no desempenho de gravação , enquanto a coleta de dados via DMV requer pouca preparação e abrange quase todo o uso do banco de dados desde a última reinicialização.
A minha dúvida é qual estratégia propor à gestão. Quero me concentrar na avaliação das visualizações do DMV na primeira etapa e ignorar completamente o DTA.
O DTA ajuda a adicionar índices, mas não a removê - los. Se você se depara com um banco de dados que já possui mais de, digamos, 5 índices por tabela, o DTA não é a resposta. Você desejará usar os DMVs para avaliar o uso de índices existentes.
Aqui está um script com um tutorial em vídeo que fiz há algum tempo:
http://www.toadworld.com/platforms/sql-server/w/wiki/10062.find-indexes-not-in-use.aspx
Acho mais inteligente construir algo que monitore os DMVs e rastreie seus dados ao longo do tempo (talvez tirando um instantâneo do uso do índice e dos DMVs ausentes todas as noites - pode fazer sentido incluir estatísticas de procedimento também) do que executar alguma ferramenta para um curto período sempre que você pensar em fazê-lo. Você obterá uma imagem muito melhor por um período mais longo, não apenas do que eles são agora, mas também de como eles mudaram ao longo do tempo.
Tenha cuidado para não descartar índices que parecem não utilizados, mas podem estar vinculados a algum relatório que é chamado apenas uma ou duas vezes em um ciclo de negócios - pode ser mais importante do que sua frequência pode sugerir.
De acordo com isso ("It" é uma consulta de índice baseada em DMV)
Nenhuma experiência com isso e não conheço nenhuma referência alternativa, desculpe.
Costumo ficar com DMVs porque DTA você precisa db_owner. No prod (como um DBA desenvolvedor, não um DBA de produção), não tenho permissão para executar isso ...