Tengo una duda,...
en un Post de este foro encontré la gentil colaboración de una persona que me sugería seguir los siguientes pasos para optimizar una BD.
1. Verificar el estado inicial de la evidencia. - Sacar indicadores iniciales -
DBCC UPDATEUSAGE(0)
go
sp_spaceused
go
2. Compactar la BD
--con Shrink DB-- (SQL Server 2005) Aunque yo no visteo la opcion que dice "Reorganice files before releasing unused space. -no lo chequee xq esta opcion la verdad no se como funciona--- ¿?
3. Reducir el LOG
BACKUP LOG BD_ActivoFijo WITH TRUNCATE_ONLY
DBCC SHRINKDATABASE (BD_ActivoFijo, TRUNCATEONLY)
4. Reconstruir índices -ejecutando los Query que arroja el bloque de abajo--
SELECT 'ALTER INDEX [' + i.name + '] on BD_ActivoFijo.dbo.' + t.name +
' REBUILD;Print ''Tabla ' + i.name + ' indexada;'''
FROM sys.indexes i,
sys.tables t
WHERE i.object_id > 97
AND isnull(i.name,'x') <> 'x'
AND i.name not like 'queue%'
AND i.object_id = t.object_id
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT ERROR_LINE() AS ErrorLine;
END CATCH;
GO
5. Validar nuevamente el estado actual del paso 1. y comprar la deferencia
DBCC UPDATEUSAGE(0)
go
sp_spaceused
go
OBservacion:
Luego de haber aplicado todos estos pasos, me doy cuenta que el archivo MDF crece con algunas BD -en mi caso- al igual con el archivo LDF. En algunos caso este LOG se dispara en una relacion de 7/1, si antes p.ej. tenia el Log 2 MB ahora lo ponia14 Mb.
A que se debe esto?
Aunque claro está que si no aplicara el paso 4 -la Reconstrucción de Indices- este incremento de tamaño no ocurriría.
Hasta el paso 3 la optimización de tamaños funciona OK, pero el 4 en muy pocos casos reduce sus archivos MDF/LDF.
Porqué ocurre esto? Hay algo que omití o deba considerar en mi procedimiento de Optimizacion de mis BD?
Gracias por la ayuda a todos
Pd.: Trabajo con SQLServer 2005 estándar
LE