Bloqueos SQL Server 2000

04/01/2005 - 20:05 por Julio Jesus Anaya Hernandez | Informe spam
Existe algún procedimiento almacenado para detectar cuando existe un
interbloqueo, lo que pretendo es examinar la BD para determinar cuando
exista un interbloqueo y poderlo solucionar.



Gracias
 

Leer las respuestas

#1 Carlo Sorrel
04/01/2005 - 20:35 | Informe spam
Julio, en estos momentos no me acuerdo donde fue que lo encontre, pero te
adjunto un procedimiento almacenado que utilizo y es bastante bueno.

create proc QuienBloqueaYQuehace
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

GO


Espero te sea tan útil como a mí.
Atte.,
Carlo Sorrel

"Julio Jesus Anaya Hernandez" escribió en el
mensaje news:
Existe algún procedimiento almacenado para detectar cuando existe un
interbloqueo, lo que pretendo es examinar la BD para determinar cuando
exista un interbloqueo y poderlo solucionar.



Gracias


Preguntas similares