Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2011, 14:37
lcsmdq
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Fragmentacion de Tablas

Holas :)
leyendo x la red, encontre un articulo de Fragmentacion de tablas, donde detalla una info a analizar y posibles acciones a realizar:

1- creamos esta tabla
CREATE TABLE TBL_SHOWCONTIG (ObjectName CHAR (255),ObjectId INT,IndexName CHAR (255),IndexId INT,Lvl INT,CountPages INT,CountRows INT,MinRecSize INT,MaxRecSize INT,AvgRecSize INT,ForRecCount INT,Extents INT,ExtentSwitches INT,AvgFreeBytes INT,AvgPageDensity INT,ScanDensity DECIMAL,BestCount INT,ActualCount INT,LogicalFrag DECIMAL,ExtentFrag DECIMAL)

2- Luego vamos a una base y la llenamos
INSERT into MonitorDB..tbl_ShowContig (ObjectName,ObjectId,IndexName,IndexId,Lvl,CountPa ges,CountRows,MinRecSize,MaxRecSize,AvgRecSize,For RecCount,Extents,ExtentSwitches,AvgFreeBytes,AvgPa geDensity,ScanDensity,BestCount,ActualCount,Logica lFrag,ExtentFrag)
EXEC ('DBCC SHOWCONTIG WITH ALL_INDEXES, TABLERESULTS')

3- Analizamos, donde IndexID es el tipo de indice y ScanDensity el grado de fragmentacion si es 100 esta OK, por debajo de 75 deberia desfragmentarse.
SELECT ObjectName, IndexName,IndexID,CountRows,ScanDensity
FROM tbl_ShowContig
WHERE ObjectName NOT LIKE 'dt%' AND
ObjectName NOT LIKE 'sys%'
ORDER BY ScanDensity DESC

4- Para reindexar las tablas utilizo
DBCC INDEXDEFRAG

5- Actualizo las estadisticas
UPDATE STATISTICS T_LOCALIDADES WITH FULLSCAN

El problema es que al reindexar, truncar tbl_ShowContig y volver a cargar tbl_ShowContig no veo que halla habido cambios en ScanDensity.
Si alguien lo prueba y encuentra alguna explicacion o solucion se agradece...