Notre serveur SQL vit sur un SAN. Il contient des dizaines de bases de données OLTP, certaines avec plusieurs tables contenant plus de 1 million d'enregistrements.
Nous exécutons chaque semaine les scripts de maintenance d'index d'Ola Hallengren , et cela dure plusieurs heures à chaque fois. En fonction du seuil de fragmentation, le script réorganisera ou réindexera un index. Nous avons observé que lors de la réindexation, les fichiers journaux deviennent énormes, ce qui entraîne une consommation excessive de bande passante lors de l'envoi des journaux.
Vient ensuite un article de Brent Ozar dans lequel il dit de ne plus se soucier des index SQL :
Vos disques durs sont partagés avec d'autres serveurs qui font également des demandes de disques en même temps, donc les disques vont toujours sauter partout pour obtenir des données. Défragmenter vos index n'est qu'un travail chargé de sens.
Googler cette question conduit à des opinions divergentes, la plupart appuyées par des arguments qui semblent trop brefs ou faibles. Notre plan provisoire est d'ajuster le seuil de fragmentation dans notre script de maintenance afin qu'il se réorganise beaucoup plus souvent qu'il ne se réindexe.
Quel est le verdict final? Vaut-il la peine de défragmenter les index SQL sur un SAN compte tenu des charges associées à l'exécution des travaux de maintenance hebdomadaires?