Durante los incidentes de performance que se tiene en el Team de AX, uno de los puntos que siempre estamos revisando y que siempre sugerimos focalizar, son: Niveles de fragmentación en indices clustered & non-clustered

Y en pocas palabras, para que me sirve?...

El siguiente objeto ayudará a los DBAs a:

1. % de 0 a 100 donde conocerás el nivel de fragmentación que están tus índices, la mejor acción proactiva para un DBA : Reconstruir o reorganizar solo lo necesario optimizando tiempos de procesador y mantenimientos más puntuales, concretos y con mejoras visibles.

2. Integra esta consulta a tu plan de mantenimiento, como un reporte de salud a índices; así como integralo a tu DRP (Disaster Recovery Plan) en el apartado de: Mantenimiento

3. Puedes hacer un job en sql donde puedas tener este reporte y mantengas en especial cuidado Objetos de AX core u objetos customizados.

Script.

USE <AXDB>

select  t4.name as [schema_name]
   ,       t3.name as table_name
   ,       t2.name as index_name
   ,  t1.object_id
   ,  t1.index_id
   ,  t1.partition_number
   ,  t1.index_type_desc
   ,  t1.avg_fragmentation_in_percent
   ,  t1.avg_fragment_size_in_pages
   ,  t1.page_count
   from sys.dm_db_index_physical_stats(db_id(),NULL,NULL,NULL,'LIMITED' ) t1
   inner join sys.objects t3 on (t1.object_id = t3.object_id)
   inner join sys.schemas t4 on (t3.schema_id = t4.schema_id)
   inner join sys.indexes t2 on (t1.object_id = t2.object_id and  t1.index_id = t2.index_id )
   where index_type_desc <> 'HEAP'
   order by t4.name,t3.name,t2.name,partition_number

Ahora bien, que hacer cuando ya tienes estos resultados?

4. 

  •      Exportalos a un archivo de excel
  •      Agrega un filtro  a los headers
  •      Ordenalo de mayor a menor por la columna de: avg_fragmentation_in_percent,
  •      Conocerás el estatus de tus objetos
  •      Define una métrica de mantenimiento.

5. Por ejemplo yo he agregado una métrica de un 30%

6. Posterior a ésto, recomiendo identificar los objetos que cumplen con la condición anterior y generarte la siguiente pregunta son: índices de AX core o son índices que corresponde a customizaciones?

7. Como recontruir o reorganizar tus índices?

 Tabla | Indices | Click derecho sobre el nodo de índices | Recontruccion total ó Reorganización.

Este procedimiento te dará un panorama de planeación e integración a tus actividades de mantenimiento básico para la Base de Datos de Dynamics AX.

 Espero te sirva.

 Eumir Arnäiz

 

Fuente: Rod Hansen, (PFE-Microsoft)