Problemas con tempdb

26/09/2009 - 00:19 por cas | Informe spam
Hola,
Estoy usando Windows Server 2003 R2, Service Pack 2, SQL Server 2000 Service
Pack 4.
Tengo este mensaje :
"Error: 9002, Severity: 17, State: 6
The log file for database 'tempdb' is full. Back up the transaction log for
the database to free up some log space"
Porque motivo esta creciendo?
El log durante el dia esta creciendo hasta 4 Gb, habitualmente lo hacia
hasta 2Gb. Todas las noches se realizan backup del log, el cual se reduce
de tamano. Actualmente tiene un tamano de 107 mb y la base de datos 600 mb,
son valores normales, pero durante el dia el log crece mas de 4 Gb, se
bloquea SQL y recibimos el mensaje anterior. Alguna idea ..
Desde ya agradesco su colaboracion
 

Leer las respuestas

#1 Alejandro Mesa
26/09/2009 - 04:29 | Informe spam
Hay muchas razones por las que tempdb puede crecer.

- Ordenamiento de resultados por el uso de la clausula "order by" o porque
se necesita un ordenamiento intermedio como cuando usamos "distinct" o "group
by" y no contamos con un indice que ayude a esta operacion, o por falta de
memoria se debe hacer un dump de la data hacia tempdb para poder completar el
ordenamiento.

- uso de tablas temporales, variables tipo table

- uso de snapshot isolation

- uso de dbreindex con opcion "sort in tempdb"

- uso de dbcc checkdb

- transacciones no salvadas (uncommitted)

- etc.


Una forma rapida de resolver el problema es re-iniciando el servicio de SQL
Server para que re-cree tempdb nuevamente.

Si tienes mas tiempo, entonces puedes:

- Chequear las transacciones abiertas y fijate desde cuando lo estan "dbcc
opentran".

- Asegurarte que el modelo de recuperacion es "simple".

select databasepropertyex('tempdb', 'Recovery');
go

Si tu tempdb crece como promedio hasta 4 gbytes, entonces busca espacio en
disco para ella. Se recomiendo que esta db tenga su propio disco o arreglo, y
que se cree con un tamaño adecuado para tu ambiente.


AMB


"cas" wrote:

Hola,
Estoy usando Windows Server 2003 R2, Service Pack 2, SQL Server 2000 Service
Pack 4.
Tengo este mensaje :
"Error: 9002, Severity: 17, State: 6
The log file for database 'tempdb' is full. Back up the transaction log for
the database to free up some log space"
Porque motivo esta creciendo?
El log durante el dia esta creciendo hasta 4 Gb, habitualmente lo hacia
hasta 2Gb. Todas las noches se realizan backup del log, el cual se reduce
de tamano. Actualmente tiene un tamano de 107 mb y la base de datos 600 mb,
son valores normales, pero durante el dia el log crece mas de 4 Gb, se
bloquea SQL y recibimos el mensaje anterior. Alguna idea ..
Desde ya agradesco su colaboracion



Preguntas similares