Nosso servidor SQL vive em uma SAN. Ele contém dezenas de bancos de dados OLTP, alguns com várias tabelas contendo mais de 1 milhão de registros.
Temos vindo a executar scripts de manutenção do índice de Ola Hallengren semanal, e ele é executado por várias horas de cada vez. Com base no limite de fragmentação, o script irá reorganizar ou reindexar um índice. Observamos que durante a reindexação, os arquivos de log ficam enormes, o que leva a um consumo excessivo de largura de banda durante o envio do log.
Em seguida, vem um artigo de Brent Ozar, no qual ele diz para parar de se preocupar com os índices SQL :
Seus discos rígidos são compartilhados com outros servidores que também fazem solicitações de unidade ao mesmo tempo, para que as unidades estejam sempre pulando por todo o lugar para obter dados. Desfragmentar seus índices é apenas um trabalho ocupado sem sentido.
Pesquisar esta questão no Google leva a opiniões divergentes, mais apoiadas por argumentos que parecem breves ou fracos demais. Nosso plano preliminar é ajustar o limite de fragmentação em nosso script de manutenção para que ele se reorganize com muito mais frequência do que reindexa.
Qual é o veredicto final? Vale a pena desfragmentar os índices SQL em uma SAN, considerando os encargos associados à execução de tarefas de manutenção semanais?