【sqlserver】查詢阻塞儲存過程sp_who_lock
use master
go
create procedure 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 sysprocesses where blocked>0 ) a
where not exists(select * from (select * from sysprocesses where blocked>0 ) b
where a.blocked=spid)
union select spid,blocked from 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 '現在沒有阻塞和死鎖資訊' as message
-- 迴圈開始
while @intCounter <= @intCountProperties
begin
-- 取第一條記錄
select @spid = spid,@bl = bl
from #tmp_lock_who where Id = @intCounter
begin
if @spid =0
select '引起資料庫死鎖的是: '+ CAST(@bl AS VARCHAR(10)) + '程式號,其執行的SQL語法如下'
else
select '程式號SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '程式號SPID:'+ CAST(@bl AS VARCHAR(10)) +'阻塞,其當前程式執行的SQL語法如下'
DBCC INPUTBUFFER (@bl )
end
-- 迴圈指標下移
set @intCounter = @intCounter + 1
end
drop table #tmp_lock_who
return 0
end
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-742389/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- SQLSERVER儲存過程SQLServer儲存過程
- 儲存過程模糊查詢(like)儲存過程
- 查詢儲存過程報錯資訊儲存過程
- Sqlserver中的儲存過程SQLServer儲存過程
- 儲存過程結果進行查詢 select 存過過程儲存過程
- SqlServer-儲存過程分頁SQLServer儲存過程
- sqlserver 常用儲存過程集錦SQLServer儲存過程
- 帶有儲存過程的組合查詢儲存過程
- SqlServer儲存過程的建立與使用SQLServer儲存過程
- ADO中sqlserver儲存過程使用SQLServer儲存過程
- 【SqlServer】清除過期資料的儲存過程SQLServer儲存過程
- 查詢某個儲存過程有哪些內容儲存過程
- 在Oracle中查詢儲存過程和函式Oracle儲存過程函式
- JAVA + Oracle儲存過程返回查詢結果集JavaOracle儲存過程
- SQLServer DML操作阻塞SELECT查詢SQLServer
- sqlserver儲存過程實現多表分頁SQLServer儲存過程
- 解密SQLServer2005儲存過程解密SQLServer儲存過程
- ADO中sqlserver儲存過程使用 (轉)SQLServer儲存過程
- SqlServer儲存過程應用二:分頁查詢資料並動態拼接where條件SQLServer儲存過程
- 如何查詢一個儲存過程是否在執行儲存過程
- 查詢多張表記錄數的儲存過程儲存過程
- Ms Sql Server查詢儲存過程中的內容SQLServer儲存過程
- SQLServer 2005通用分頁儲存過程SQLServer儲存過程
- MySQL儲存過程使用if子查詢判斷需要注意MySql儲存過程
- 儲存過程中的符合條件查詢 and 1= ''+@knlgName+''儲存過程
- ASP.NET中利用儲存過程實現模糊查詢ASP.NET儲存過程
- SQL Server 2000 的分頁查詢(儲存過程)SQLServer儲存過程
- sqlserver資料庫還原儲存過程指令碼SQLServer資料庫儲存過程指令碼
- 通用的SQL Server資料庫查詢分頁儲存過程SQLServer資料庫儲存過程
- 儲存過程中查詢資料字典檢視(v$或dba)儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 儲存過程儲存過程
- mssql sqlserver 批量刪除所有儲存過程的方法分享SQLServer儲存過程
- SQLSERVER儲存過程如何寫帶引數的遊標SQLServer儲存過程
- 查詢當前資料庫存在某個字串的儲存過程資料庫字串儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程