잠금 해제 저장 프로세스 보기

1636 단어 저장 프로세스
/****** Object:  StoredProcedure [dbo].[sp_who_lock]    Script Date: 08/13/2014 12:52:08 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER procedure [dbo].[sp_who_lock]

as

begin

declare @spid int,@bl int,

@intTransactionCountOnEntry int,

        @intRowcount int,

        @intCountProperties int,

        @intCounter int

 

create table #tmp_lock_who (

id int identity(1,1),

spid smallint,

bl smallint)

 

IF @@ERROR<>0 RETURN @@ERROR

 

insert into #tmp_lock_who(spid,bl) select 0 ,blocked

 from (select * from master.dbo.sysprocesses where blocked>0 ) a 

 where not exists(select * from (select * from master.dbo.sysprocesses where blocked>0 ) b 

 where a.blocked=spid)

 union select spid,blocked from master.dbo.sysprocesses where blocked>0

 

IF @@ERROR<>0 RETURN @@ERROR

 

--          

select @intCountProperties = Count(*),@intCounter = 1

from #tmp_lock_who

 

IF @@ERROR<>0 RETURN @@ERROR

 

if @intCountProperties=0

select N'           ' as message

--     

while @intCounter <= @intCountProperties

begin

--       

select @spid = spid,@bl = bl

from #tmp_lock_who where Id = @intCounter 

begin

 if @spid =0 

            select N'         : '+ CAST(@bl AS VARCHAR(10)) + N'   ,    SQL    '

 else

            select N'   SPID:'+ CAST(@spid AS VARCHAR(10))+ N' ' + N'   SPID:'+ CAST(@bl AS VARCHAR(10)) +N'  ,        SQL    '

 DBCC INPUTBUFFER (@bl )

end

 

--       

set @intCounter = @intCounter + 1

end

 

 

drop table #tmp_lock_who

 

return 0

end


좋은 웹페이지 즐겨찾기