Wir beheben ein langjähriges Problem mit einem Anbieter. Ihre Software neigt dazu, ein- oder zweimal pro Woche einzufrieren und nicht mehr zu arbeiten, was zu erheblichen Betriebsstörungen führt. Sie konnten die Ursache nicht ermitteln, obwohl wir ihnen viele GB Protokolle und Sicherungen der Datenbank gesendet haben. In letzter Zeit haben sie begonnen, darauf hinzuweisen, dass die Probleme bei unserer Wartung und möglicherweise nicht bei ihrer Software liegen (obwohl es keine lang laufenden Abfragen, keinen CPU / RAM / IO-Druck oder sogar Deadlocks gibt, wenn die Probleme auftreten). Insbesondere sagen sie, dass unsere Indizes ein Problem sind.
Ihr Lieblingswerkzeug ist DBCC Showcontig, obwohl ich argumentiere, dass die Sache von MS abgelehnt wird. Sie sind besonders besessen von der Scandichte und der Fragmentierung. Um die Entschuldigung zu beseitigen, habe ich eine aggressive nächtliche Wartung durchgeführt, bei der Indizes mit einer Scandichte von <90% oder einer Fragmentierung von> 10% neu erstellt werden. Dies hat sie etwas aus dem Scan-Dichte-Zug geworfen, aber sie bleiben auf die Fragmentierung des Ausmaßes fixiert. DBCC showontig zeigt selbst bei einem Index, der Stunden zuvor neu erstellt wurde, eine starke Fragmentierung. Nachfolgend sind die Ergebnisse von dbcc_showcontig und sys.dm_db_index_physical_stats für eine Tabelle aufgeführt, auf die sie als "mögliches Problem" hingewiesen haben.
DBCC SHOWCONTIG
- Gescannte Seiten ................................: 1222108
- Gescannte Bereiche ..............................: 152964
- Extent Switches ..............................: 180904
- Durchschn. Seiten pro Umfang ........................: 8.0
- Scandichte [Beste Anzahl: Tatsächliche Anzahl] .......: 84,44% [152764: 180905]
- Logische Scan-Fragmentierung ..................: 3,24%
- Extent Scan Fragmentation ...................: 35,97%
- Durchschn. Bytes frei pro Seite .....................: 692.5
- Durchschn. Seitendichte (voll) .....................: 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
Sollte ich mich mit meinen Indizes befassen? Das obige ist nicht untypisch. Die bevorzugte MS DMV scheint zu zeigen, dass sie in Ordnung ist, aber der Anbieter bleibt bei dieser 35,97% igen Fragmentierung. Ich vermute, dass sie nur verzweifelt versuchen, etwas zu finden, um ihre Softwareprobleme zu beschuldigen, aber wenn ich ein tatsächliches Problem habe, möchte ich versuchen, es zu beheben.