Sql 2000 dbcc shrinkdatabase

05/11/2007 - 11:27 por Juan Carlos Mendoza | Informe spam
Buenas a todos,

En un servidor de pruebas me estuve quedando sin espacio, nada grave,
para aliviar un poco, en las bases de datos de pruebas comence a
reducir espacio mediante DBCC SHRINKDATABASE, pero en una base de
datos, aparte de no terminar, me estaba consumiendo el espacio libre
en disco hasta casi agotarlo, lo corte, y vi que habia crecido la base
de datos, bueno, la elimine y la restaure del backup que saque antes
de iniciar el comando, con lo que la tuve como antes.

Me lleve la base de datos a mi equipo local, donde tenía mas espacio
libre disponible, para ver que es lo que pasaba. Repeti la
experiencia, y ocurrio igual. Al cabo de una hora y media de
ejecucion, corté el comando, y vi que la base de datos había crecido
en un 1000% inicialmente la base pesaba 892 Mbs, al cortarlo pesaba
8,928 Mbs. Que es lo que podría estar ocurriendo?

Al analizar con ( exec sp_MSForEachtable 'sp_spaceused ''?''' ) para
ver donde habia crecido la base de datos me topo con una y solo una
tabla que se "comio" el espacio.

Inicial
name rows reserved data
index_size unused

TRA_TRANSACCION 1223553 648392 KB 647976 KB
312 KB 104 KB

Luego
name rows reserved data
index_size unused

TRA_TRANSACCION 1223553 8875720 KB 8816984 KB
312 KB 58424 KB

La cantidad de registros no ha variado y el diseño de la tabla es el
siguiente:
CREATE TABLE [dbo].[TRA_TRANSACCION] (
[COD_TRANSACCION] [char] (14) NOT NULL ,
[COD_UNIDAD_ORGANICA] [char] (3) NULL ,
[FEC_MOVIMIENTO] [datetime] NULL ,
[DES_UNIDAD_ORGANICA] [varchar] (20) NULL ,
[DES_QUERY] [text] NULL ,
[DES_ERROR] [text] NULL ,
[DES_ESTADO] [char] (1) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[TRA_TRANSACCION] WITH NOCHECK ADD
CONSTRAINT [PK_TRA_TRANSACCION] PRIMARY KEY CLUSTERED
(
[COD_TRANSACCION]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO


lo curioso es que hay un par de tablas mas con diseño similar:

CREATE TABLE [dbo].[SEG_ATENCION] (
[ID_ATENCION] [int] NOT NULL ,
[COD_USUARIO_CONSULTA] [char] (14) NULL ,
[DES_CONSULTA] [text] NULL ,
[FEC_CONSULTA] [datetime] NULL ,
[COD_USUARIO_RESPUESTA] [char] (14) NULL ,
[DES_RESPUESTA] [text] NULL ,
[FEC_RESPUESTA] [datetime] NULL ,
[ESTADO] [char] (1) NULL ,
[IND_ATENCION] [char] (1) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


la unica diferencia es la cantidad de registros, estas dos no pasan de
5 registros.

Agradecere cualquier orientacion.

Saludos,

Juan Carlos Mendoza.
 

Leer las respuestas

#1 Alejandro Mesa
05/11/2007 - 15:48 | Informe spam
Hola Juan Carlos,

Para este tipo de preguntas, es recomendable postear el sistema operativo y
la version / service pack de SQL Server que usas.

FIX: DBCC SHRINKDATABASE or DBCC SHRINKFILE May Expand Database with Text or
Image Data
http://support.microsoft.com/kb/308627


AMB

"Juan Carlos Mendoza" wrote:

Buenas a todos,

En un servidor de pruebas me estuve quedando sin espacio, nada grave,
para aliviar un poco, en las bases de datos de pruebas comence a
reducir espacio mediante DBCC SHRINKDATABASE, pero en una base de
datos, aparte de no terminar, me estaba consumiendo el espacio libre
en disco hasta casi agotarlo, lo corte, y vi que habia crecido la base
de datos, bueno, la elimine y la restaure del backup que saque antes
de iniciar el comando, con lo que la tuve como antes.

Me lleve la base de datos a mi equipo local, donde tenía mas espacio
libre disponible, para ver que es lo que pasaba. Repeti la
experiencia, y ocurrio igual. Al cabo de una hora y media de
ejecucion, corté el comando, y vi que la base de datos había crecido
en un 1000% inicialmente la base pesaba 892 Mbs, al cortarlo pesaba
8,928 Mbs. Que es lo que podría estar ocurriendo?

Al analizar con ( exec sp_MSForEachtable 'sp_spaceused ''?''' ) para
ver donde habia crecido la base de datos me topo con una y solo una
tabla que se "comio" el espacio.

Inicial
name rows reserved data
index_size unused

TRA_TRANSACCION 1223553 648392 KB 647976 KB
312 KB 104 KB

Luego
name rows reserved data
index_size unused

TRA_TRANSACCION 1223553 8875720 KB 8816984 KB
312 KB 58424 KB

La cantidad de registros no ha variado y el diseño de la tabla es el
siguiente:
CREATE TABLE [dbo].[TRA_TRANSACCION] (
[COD_TRANSACCION] [char] (14) NOT NULL ,
[COD_UNIDAD_ORGANICA] [char] (3) NULL ,
[FEC_MOVIMIENTO] [datetime] NULL ,
[DES_UNIDAD_ORGANICA] [varchar] (20) NULL ,
[DES_QUERY] [text] NULL ,
[DES_ERROR] [text] NULL ,
[DES_ESTADO] [char] (1) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[TRA_TRANSACCION] WITH NOCHECK ADD
CONSTRAINT [PK_TRA_TRANSACCION] PRIMARY KEY CLUSTERED
(
[COD_TRANSACCION]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO


lo curioso es que hay un par de tablas mas con diseño similar:

CREATE TABLE [dbo].[SEG_ATENCION] (
[ID_ATENCION] [int] NOT NULL ,
[COD_USUARIO_CONSULTA] [char] (14) NULL ,
[DES_CONSULTA] [text] NULL ,
[FEC_CONSULTA] [datetime] NULL ,
[COD_USUARIO_RESPUESTA] [char] (14) NULL ,
[DES_RESPUESTA] [text] NULL ,
[FEC_RESPUESTA] [datetime] NULL ,
[ESTADO] [char] (1) NULL ,
[IND_ATENCION] [char] (1) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


la unica diferencia es la cantidad de registros, estas dos no pasan de
5 registros.

Agradecere cualquier orientacion.

Saludos,

Juan Carlos Mendoza.


Preguntas similares