Nous résolvons un problème de longue date avec un fournisseur. Leur logiciel a tendance à geler et à cesser de fonctionner une ou deux fois par semaine, ce qui provoque des perturbations majeures de notre fonctionnement. Ils n'ont pas pu en déterminer la cause malgré le fait que nous leur ayons envoyé de nombreux Go de journaux et sauvegardes de la base de données. Dernièrement, ils ont commencé à suggérer que les problèmes étaient liés à notre maintenance et peut-être pas à leur logiciel (malgré l'absence de longues requêtes en cours, la pression CPU / RAM / IO ou même des blocages lorsque les problèmes se produisent). Ils disent en particulier que nos indices sont un problème.
Leur outil préféré à utiliser est DBCC showcontig malgré mon argumentation que la chose est déconseillée par MS. Ils sont obsédés par la densité de numérisation et la fragmentation de l'étendue en particulier. Pour supprimer l'excuse, j'ai institué une maintenance nocturne agressive qui reconstruit les index avec une densité de balayage <90% ou une fragmentation> 10%. Cela les a quelque peu rejetés du train de densité de balayage, mais ils restent fixés sur la fragmentation de l'étendue. DBCC showcontig montre une fragmentation étendue, même sur un index qui a été reconstruit quelques heures auparavant. Voici les résultats de dbcc_showcontig et sys.dm_db_index_physical_stats pour une table qu'ils ont désignée comme un "problème possible".
DBCC SHOWCONTIG
- Pages numérisées ................................: 1222108
- Étendues numérisées ..............................: 152964
- Commutateurs d'extension ..............................: 180904
- Moy. Pages par étendue ........................: 8.0
- Densité de numérisation [Meilleur nombre: nombre réel] .......: 84,44% [152764: 180905]
- Fragmentation de l'analyse logique ..................: 3,24%
- Fragmentation de l'analyse étendue ...................: 35,97%
- Moy. Octets libres par page .....................: 692,5
- Moy. Densité de page (pleine) .....................: 91,44%
sys.dm_db_index_physical_stats
index_type_desc alloc_unit_type_desc Avg_fragmentation_in_percent page_count
CLUSTERED INDEX IN_ROW_DATA 3.236803129 1222070
NONCLUSTERED INDEX IN_ROW_DATA 0.680074642 48230
NONCLUSTERED INDEX IN_ROW_DATA 0.093237195 48264
NONCLUSTERED INDEX IN_ROW_DATA 0.03315856 48253
NONCLUSTERED INDEX IN_ROW_DATA 0.194653248 48291
NONCLUSTERED INDEX IN_ROW_DATA 0.393480436 58961
NONCLUSTERED INDEX IN_ROW_DATA 0.23622292 64346
NONCLUSTERED INDEX IN_ROW_DATA 0.041445623 48256
NONCLUSTERED INDEX IN_ROW_DATA 0.701172007 59044
NONCLUSTERED INDEX IN_ROW_DATA 0.216397724 53605
Dois-je me préoccuper de mes index? Celui ci-dessus n'est pas atypique. Le MS DMV préféré semble montrer qu'il va très bien, mais le fournisseur est bloqué sur cette fragmentation de 35,97%. Je soupçonne que ce sont juste eux qui essaient désespérément de trouver quelque chose pour blâmer leurs problèmes logiciels, mais si j'ai un problème réel, je veux essayer de le résoudre.