Estamos solucionando un problema de larga duración con un proveedor. Su software tiene una tendencia a congelarse y dejar de funcionar una o dos veces por semana, causando interrupciones importantes en nuestra operación. No han podido determinar la causa a pesar de que les enviamos muchos GB de registros y copias de seguridad de la base de datos. Últimamente han comenzado a sugerir que los problemas están relacionados con nuestro mantenimiento y quizás no con su software (a pesar de que no hay consultas de larga duración, presión de CPU / RAM / IO o incluso puntos muertos cuando ocurren los problemas). En particular, dicen que nuestros índices son un problema.
Su herramienta favorita para usar es DBCC showcontig a pesar de que yo sostengo que MS ha desaprobado. Se obsesionan con la densidad de escaneo y la fragmentación de extensión especialmente. Para quitar la excusa, instituí un mantenimiento nocturno agresivo que reconstruye los índices con <90% de densidad de exploración o> 10% de fragmentación. Esto los ha arrojado algo fuera del tren de densidad de escaneo, pero permanecen fijos en la fragmentación de extensión. DBCC showcontig muestra una fragmentación de alto grado incluso en un índice que fue reconstruido horas antes. A continuación se muestran los resultados de dbcc_showcontig y sys.dm_db_index_physical_stats para una tabla que señalaron como un "posible problema".
DBCC SHOWCONTIG
- Páginas escaneadas ................................: 1222108
- Extensiones escaneadas ..............................: 152964
- Interruptores de extensión ..............................: 180904
- Media Páginas por extensión ........................: 8.0
- Densidad de escaneo [Mejor recuento: recuento real] .......: 84.44% [152764: 180905]
- Fragmentación de escaneo lógico ..................: 3.24%
- Extensión de fragmentación de escaneo ...................: 35.97%
- Media Bytes gratis por página .....................: 692.5
- Media Densidad de página (completa) .....................: 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
¿Debería preocuparme por mis índices? El de arriba no es atípico. El MS DMV preferido parece mostrar que está bien, pero el proveedor está estancado en esa fragmentación de 35.97%. Sospecho que se trata solo de ellos tratando desesperadamente de encontrar algo para culpar a sus problemas de software, pero si tengo un problema real, quiero intentar solucionarlo.