Luchando contra bloqueos

31/05/2007 - 17:32 por Alhambra Eidos Kiquenet | Informe spam
Hola,

muchas dudas sobre bloqueos, estamos en depuración de una aplicación.

cómo se puede saber qu é procesos y por qué se bloquean ciertas tablas ?

Una select en qué casos puede bloquear ?

Excel conectandose al servidor de SQL SERVER puede bloquear la tabla o
registros ?

Estamos teniendo problemas en una aplicación y necesitamos determinar qué
produce bloqueos.

Saludos y gracias de antemano.

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net

Preguntas similare

Leer las respuestas

#1 Pedro
31/05/2007 - 18:01 | Informe spam
Hola
Soy Norman Martínez P. ya me conoceis

Mi cuenta de correo es

mandarme un correo y os hago un script SQL en un momento que te saque que
procesos estan bloqueando y que es lo que hacen. ;-)

Pregunta al responsable de SQL que me conoce y os lo mando

Norman

"Alhambra Eidos Kiquenet" wrote:

Hola,

muchas dudas sobre bloqueos, estamos en depuración de una aplicación.

cómo se puede saber qu é procesos y por qué se bloquean ciertas tablas ?

Una select en qué casos puede bloquear ?

Excel conectandose al servidor de SQL SERVER puede bloquear la tabla o
registros ?

Estamos teniendo problemas en una aplicación y necesitamos determinar qué
produce bloqueos.

Saludos y gracias de antemano.

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net

Respuesta Responder a este mensaje
#2 Gustavo Larriera (MVP)
31/05/2007 - 18:30 | Informe spam
How to monitor blocking in SQL Server 2005 and in SQL Server 2000
http://support.microsoft.com/kb/271509

INF: Understanding and Resolving SQL Server 7.0 or 2000 Blocking Problems
http://support.microsoft.com/kb/224453

Troubleshooting Performance Problems in SQL Server 2005
http://www.microsoft.com/technet/pr...rfprb.mspx

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Alhambra Eidos Kiquenet" wrote:

Hola,

muchas dudas sobre bloqueos, estamos en depuración de una aplicación.

cómo se puede saber qu é procesos y por qué se bloquean ciertas tablas ?

Una select en qué casos puede bloquear ?

Excel conectandose al servidor de SQL SERVER puede bloquear la tabla o
registros ?

Estamos teniendo problemas en una aplicación y necesitamos determinar qué
produce bloqueos.

Saludos y gracias de antemano.

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net

Respuesta Responder a este mensaje
#3 Pedro
01/06/2007 - 08:06 | Informe spam
Hola
Hay muchos textos, informacion sobre bloqueos, pero pocos van al grano.
Perseguir bloqueos no es siempre tarea sencilla (ya ni que decir tiene
deadlocks o interbloqueos), muchas veces queremos saber quien, porqué, donde,
como, ... Muchas preguntas que se pueden quedar sin respuesta. Para colmo el
bloqueo que tiene toda la base de datos parada, se libera en el siguiente
segundo y ya es casi imposible saber que es lo que ha sucedido.

Las herramientas que tenemos para perseguirlos, como el procedimiento
almacenado sp_lock, Sin embargo puede no ser necesario ver todos los recursos
que tienen un bloqueo, sino solo aquellos que además están haciendo que otros
recursos tengan que esperar. ver que usuarios que están bloqueando un recurso
que necesita a su vez otro usuario. y mostrar los detalles del registro, la
página, etc, pero creo que esta es la info que interesa y que puede servir.

soy más partidario del código que de las palabras, es donde se ve y comprede
mejor.

Si os poneis en contanto conmigo os puedo pasar informacion mas detallada,
para que os creeis procedures que os den la informacion que os ayude a
resolver los problemas.



Saludos
Norman Martínez P.




"Alhambra Eidos Kiquenet" wrote:

Hola,

muchas dudas sobre bloqueos, estamos en depuración de una aplicación.

cómo se puede saber qu é procesos y por qué se bloquean ciertas tablas ?

Una select en qué casos puede bloquear ?

Excel conectandose al servidor de SQL SERVER puede bloquear la tabla o
registros ?

Estamos teniendo problemas en una aplicación y necesitamos determinar qué
produce bloqueos.

Saludos y gracias de antemano.

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net

Respuesta Responder a este mensaje
#4 Alhambra Eidos Kiquenet
01/06/2007 - 08:12 | Informe spam
Hola, la pregunta la hice a nivel personal, yo no estoy en ese proyecto
siquiera, pero los tengo al lado y me llegan esos problemas de bloqueos,y
quería enterarme de posibles soluciones y referencias en la web.

Si puede exponer el código en el foro mucho mejor.

Gracias.
Respuesta Responder a este mensaje
#5 Pedro
01/06/2007 - 08:26 | Informe spam
Bien, pero si no tienes info con exactitud, no podremos estudiar a fondo el
problema

te paso el codigo para que os creeis un procedure, la idea es lanzarlo
ciclicamente cada X Tiempo y ir recogiendo el resultado en unta tabla, los
Tencicos de SQL sabran como hacerlo, despues estudiando el resultado tendreis
informacion muy valiosa. El resultado del procedure lo hare de una forma mas
generica dado que carecemos de informacion tecnica de la aplicacion.

para crearos el procedure:

create proc QuienBloquea
as
begin
Declare @spid int, @cuantos int
declare @sql varchar(100)
Select * from master.dbo.sysprocesses where blocked<>0 order by waittime
Declare cr Cursor for select blocked,count(*) from master.dbo.sysprocesses
where blocked<>0 group by blocked
open cr
fetch next from cr into @spid,@cuantos
while @@fetch_status=0
begin
quien es
select 'Rol'='Bloqueador', * from master.dbo.sysprocesses where
spid=@spid
print 'Buffer de ' + cast(@spid as varchar) +' está bloqueando a '+
cast(@cuantos as varchar) +' procesos..'
set @sql='Dbcc InputBuffer('+ cast(@spid as varchar) +')'
exec(@sql)
fetch next from cr into @spid,@cuantos
end
close cr
deallocate cr
end



Este es un posible procedure para ejecutarlo:
exec QuienBloquea

Podéis forzar un bloqueo con cualquier instrucción que haga un update y en
otra conexión un select y ver el resultado de la ejecución.

Para afinar la aplicacion y su problema hay que conocerla, de foma generica
y sin informacion es muy dificil. espero que os pueda ayudar.

Norman Martínez Pardell

"Alhambra Eidos Kiquenet" wrote:

Hola, la pregunta la hice a nivel personal, yo no estoy en ese proyecto
siquiera, pero los tengo al lado y me llegan esos problemas de bloqueos,y
quería enterarme de posibles soluciones y referencias en la web.

Si puede exponer el código en el foro mucho mejor.

Gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida