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

[0] Índice de Mensajes

Ir a la versión completa