Fragmentação igual ou acima do limite configurado e page_count igual ou superior ao mínimo. É um alerta para avaliação, não uma ordem para executar.
SQL Index Analyzer Guide.
Procedimento de coleta, interpretação e validação das recomendações de índices SQL Server.
Inventário por banco de dados
- Abra o SQL Index Analyzer e copie a consulta de inventário.
- Conecte-se à instância com login que tenha permissão para visualizar metadados e consultar as DMVs necessárias.
- Altere o contexto para o banco que será analisado e execute a consulta. Ela coleta metadados de índices rowstore clustered/nonclustered, fragmentação LIMITED, tamanho e contadores de uso.
- Exporte o resultado como CSV preservando todos os cabeçalhos. Repita para cada banco de interesse.
- Combine as coletas em um CSV com cabeçalho único. Não misture snapshots de momentos diferentes da mesma instância sem separar os arquivos.
- Importe o CSV de índices na primeira área da ferramenta. A coleta de missing indexes é opcional e deve ser feita separadamente em cada banco.
Como coletar e interpretar
- Copie a segunda consulta e execute-a no contexto do banco desejado.
- Exporte o resultado para CSV e combine as coletas por banco, preservando um único cabeçalho.
- Importe na área Missing Indexes. O benefício estimado ordena oportunidades para investigação, não representa ganho garantido nem deve ser comparado como KPI entre ambientes sem contexto.
- Verifique se já existe índice com prefixo de chaves semelhante, se o índice sugerido repete colunas incluídas e qual será o custo adicional de INSERT/UPDATE/DELETE.
- Revise plano de execução real, Query Store, seletividade, estatísticas e workload antes de propor CREATE INDEX.
Fragmentação e utilização
Fragmentação igual ou acima do limite de reorganização, abaixo do limite de rebuild e com páginas suficientes.
Seeks, scans e lookups zerados com updates positivos, ou sem atividade. Os contadores podem ter sido reiniciados e não representam necessariamente um ciclo completo de negócio.
Compara assinatura de colunas-chave e incluídas no mesmo objeto. Filtros são excluídos da detecção simplificada. Sobreposição não significa redundância comprovada.
Os valores comuns de 5% e 30% são apenas referências ajustáveis. Page count, padrão de acesso, latência, storage, disponibilidade, versão, edition, compressão e janela operacional mudam a decisão.
Limitações e cuidados
- DMV usage:
sys.dm_db_index_usage_statszera em eventos como reinício do serviço e pode ser limpa manualmente. Sempre confira o horário de início do SQL Server informado na coleta. - Fragmentação:
sys.dm_db_index_physical_statsem modo LIMITED é uma leitura aproximada e menos custosa; não é uma avaliação completa de todas as estruturas. A ferramenta filtra índices rowstore. - Permissões: as permissões variam por versão. Consulte a documentação Microsoft para
VIEW DATABASE STATE/VIEW DATABASE PERFORMANCE STATEe visibilidade de metadados conforme a versão. - Missing indexes: as DMVs são reiniciadas e têm limites internos; sugestões podem ser duplicadas, não persistem como histórico confiável e não consideram todo custo de manutenção.
- Índices especiais: XML, spatial, columnstore, hash, memory-optimized e heaps não fazem parte da análise de fragmentação rowstore desta versão.
- Execução: a ferramenta só importa e analisa CSV. Não executa DDL, REBUILD, REORGANIZE, CREATE INDEX ou DROP INDEX.
Documentação Microsoft: index physical stats, index usage stats e missing index group stats.