Bloqueos en TEMPDB..SYSOBJECTS

14/11/2005 - 11:50 por Antonio Zorita | Informe spam
¿Qué hay?
Desde hace tiempo estamos teniendo problemas con bloqueos en la bd TEMPDB.
En concreto, nos hemos fijado que si hacemos un SELECT * FROM
TEMPDB..SYSOBJECTS WITH(NOLOCK), en bastantes ocasiones tarda muchísimo
tiempo en devolver los datos. Esto coincide normalmente con problemas de
acceso en las aplicaciones que terminan por dar tiempo de espera finalizado.

Si esta select la sustituimos por SELECT NAME FROM TEMPDB..SYSOBJECTS
WITH(NOLOCK), devuelve los datos rápidamente. Pero en cuento tiene que
devolver los valores de los campos instrig, updtrig, seltrig y deltrig, la
cosa cambia. Parece que dichos campos son los que están bloqueados.

¿Por qué puede ocurrir esto? ¿Puede haber algún proceso que esté
continuamente bloqueando dichos campos, o es el propio sistema? ¿Cómo
evitarlo?

Gracias.

Preguntas similare

Leer las respuestas

#6 Maxi
16/11/2005 - 13:15 | Informe spam
ok, entonces revisa bien lo que dice Miguel, que se te bloquee la Tempdb es
cuando hay malas practicas de programacion atras (generalmente) te pregunte
del espacio utilizado porque es un buen indicador de cuanto se usa la Tempdb
o si estas teniendo algun ataque externo, hay casos donde la tempdb llego a
pesar algunos GB y ahi .

Un abrazo


Salu2
Maxi [MVP SQL SERVER]


"Antonio Zorita" escribió en el
mensaje news:
Muchas gracias a todos.

Seguramente tengas razón, Miguel. Tenemos muchos procesos que creo que
sobreutilizan las tablas temporales y los joins, y creo que vamos a tener
que
revisar todos los que son susceptibles de darnos problemas.

Maxi. No es problema del espacio ni del tamaño. Eso ya lo hemos
comprobado.
De todas formas, muchísimas gracias.


"Miguel Egea" escribió:

Antonio no es un problema de espacio libre, sino de concurrencia, depende
tu
política de joins, order by, indices, este tipo de cosas crean y
destruyen
tablas en TempDB y si hay bloqueos en esa tabla es porque se están
creando y
destruyendo muchos objetos. Busca tus joins y order bys, repasa su plan
de
ejecución y seguramente disminuya el uso de tempdb.

Saludos

Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced
education
and solutions for the entire Microsoft database platform"

"Antonio Zorita" wrote in
message
news:
> Actualmente el volumen de tablas que se usa no es excesivo. De hecho,
> queda
> bastante espacio libre dentro de la base de datos.
>
> Gracias.
>
>
> "Carlos Sacristán" escribió:
>
>> ¿Se usan muchas tablas temporales en vuestro sistema? Ten en
>> cuenta
>> que
>> al igual que las tablas normales, las temporales también generan
>> bloqueos
>> en
>> la base de datos en donde se crean, en este caso TEMPDB.
>>
>> Te recomendaría estudiar la situación con el monitor del sistema y
>> el
>> profiler para ver por qué se producen esos bloqueos...
>>
>>
>> Un saludo
>>
>> -
>> "Sólo sé que no sé nada. " (Sócrates)
>>
>> "Antonio Zorita" escribió en
>> el
>> mensaje news:
>> > ¿Qué hay?
>> > Desde hace tiempo estamos teniendo problemas con bloqueos en la bd
>> > TEMPDB.
>> > En concreto, nos hemos fijado que si hacemos un SELECT * FROM
>> > TEMPDB..SYSOBJECTS WITH(NOLOCK), en bastantes ocasiones tarda
>> > muchísimo
>> > tiempo en devolver los datos. Esto coincide normalmente con
>> > problemas
>> > de
>> > acceso en las aplicaciones que terminan por dar tiempo de espera
>> finalizado.
>> >
>> > Si esta select la sustituimos por SELECT NAME FROM
>> > TEMPDB..SYSOBJECTS
>> > WITH(NOLOCK), devuelve los datos rápidamente. Pero en cuento tiene
>> > que
>> > devolver los valores de los campos instrig, updtrig, seltrig y
>> > deltrig,
>> > la
>> > cosa cambia. Parece que dichos campos son los que están bloqueados.
>> >
>> > ¿Por qué puede ocurrir esto? ¿Puede haber algún proceso que esté
>> > continuamente bloqueando dichos campos, o es el propio sistema?
>> > ¿Cómo
>> > evitarlo?
>> >
>> > Gracias.
>> >
>>
>>
>>



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