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

Preguntas similare

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



Respuesta Responder a este mensaje
#2 cas
26/09/2009 - 12:44 | Informe spam
Gracias por tu respuesta.
En el Server tengo espacio suficente, por lo que no entiendo la causa del
bloqueo. Esta base de datos tiene mucho tiempo funcionando (anos) sin
problemas.
Las operaciones son siempre las mismas. Entiendo tu explicacion, lo que no
me explico porque causa, o mejor dicho cual es la razon concreta, para que
esto ocurra "ahora", ya que los procesos son los mismos desde el 2004 a la
fecha.
Voy a seguir investigando , alguna otra idea?
Carlos

"Alejandro Mesa" wrote in message
news:
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



Respuesta Responder a este mensaje
#3 Alejandro Mesa
26/09/2009 - 22:42 | Informe spam
Las operaciones pueden ser las mismas pero si estas guardando datos
historicos entonces la db no es la misma a la de el 2004. Si no tienes un
proceso para archivar la data, por ejemplo de el año anterior, enotnces las
tablas seguiran creciendo y si no tienes indices adecuados para satisfacer
las sentencias de DML, entonces se puede producir lo comentado.

AMB


"cas" wrote:

Gracias por tu respuesta.
En el Server tengo espacio suficente, por lo que no entiendo la causa del
bloqueo. Esta base de datos tiene mucho tiempo funcionando (anos) sin
problemas.
Las operaciones son siempre las mismas. Entiendo tu explicacion, lo que no
me explico porque causa, o mejor dicho cual es la razon concreta, para que
esto ocurra "ahora", ya que los procesos son los mismos desde el 2004 a la
fecha.
Voy a seguir investigando , alguna otra idea?
Carlos

"Alejandro Mesa" wrote in message
news:
> 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
>>
>>
>>

Respuesta Responder a este mensaje
#4 cas
28/09/2009 - 23:05 | Informe spam
Ok, gracias por todo, Voy a chequear los procedimientos.

"cas" wrote in message
news:
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


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida