Bases de Datos > SQL Server
Crecimiento desmedido base datos sql 2000
(1/1)
oec2509:
Buenos días, un cordial saludo para todos, espero me puedan ayudar con la siguiente situación
Mi panorama es más o menos el siguiente, tengo dos servidores con Windows server 2003 un dominio principal donde manejo los usuarios y el Exchange y tengo un dominio secundario donde tengo instalado SQL 2000, todo anda bastante bien.
Hace más o menos 9 meses note que la base de datos empezó a crecer sin razón aparente, hasta que llego a pesar más o menos 2.8 GB cuando el tamaño normal no llega a 1 GB.
En aquella oportunidad lo que tuve que hacer fue utilizando el utilitario de importar y exportar pase la información de todas las tablas a otra base de datos local, al hacer el este proceso copio la información con el tamaño real que es más o menos 800 MB de información, posteriormente elimine la base de datos con información desmedida, cree una base de datos nueva y luego pase la información de la base de datos local que realice inicialmente.
Después de realizar este proceso todo había trabajado normalmente hasta hace algunos días que empezó a suceder la misma situación nuevamente.
Mi consulta es si alguno sabe que es lo que puede estar sucediendo, tengo algo mal configurado o algún parámetro de crecimiento mal asignado. desde ya les agradezco toda la colaboración que me puedan brindar
Muchas gracias
Orlando Estrada
San José, Costa Rica
Shiquilla:
Podrías mirar el LOG de la base de datos.
Este Script regenera los índices de la base de datos y después de regenerarlos reduce el tamaño de los ficheros.
--- Código: SQL --- BEGIN SET NOCOUNT ON DECLARE @sLogicoMDF VARCHAR(250) DECLARE @sLogicoLDF VARCHAR(250) DECLARE @rs CURSOR DECLARE @sTabla VARCHAR(200) DECLARE @sSQL VARCHAR(2000) SET @rs = CURSOR FOR SELECT NAME FROM BASEDATOS..SysObjects WHERE xType = 'U' AND NAME <> 'dtproperties' ORDER BY Name OPEN @rs FETCH NEXT FROM @rs INTO @sTabla WHILE @@FETCH_STATUS = 0 BEGIN SET @sSQL = 'DBCC DBREINDEX (''BASEDATOS.dbo.' + LTRIM(@sTabla) + ''') WITH NO_INFOMSGS' EXEC (@sSQL) FETCH NEXT FROM @rs INTO @sTabla END CLOSE @rs DEALLOCATE @rs -- Una vez regenerados los índices, compactamos ficheros SELECT @sLogicoMDF = RTRIM(LTRIM(ISNULL(NAME, ''))) FROM BASEDATOS..SYSFILES WHERE CAST(GroupID AS BIT) = 1 SELECT @sLogicoLDF = RTRIM(LTRIM(ISNULL(NAME, ''))) FROM BASEDATOS..SYSFILES WHERE CAST(GroupID AS BIT) = 0 USE BASEDATOS IF LEN(@sLogicoMDF) > 0 BEGIN CHECKPOINT DBCC SHRINKFILE (@sLogicoMDF, 7) CHECKPOINT END IF LEN(@sLogicoLDF) > 0 BEGIN CHECKPOINT DBCC SHRINKFILE (@sLogicoLDF, 7) CHECKPOINT END SET NOCOUNT OFFEND
Espero que te sirva.
Saludos,
Navegación
Ir a la versión completa