死鎖查詢1
CREATE Table #Who(
spid int,
ecid int,
status nvarchar(50),
loginname nvarchar(50),
hostname nvarchar(50),
blk int,
dbname nvarchar(50),
cmd nvarchar(50))
CREATE Table #Lock(
spid int,
dpid int,
objid int,
indld int,
Type nvarchar(20),
Resource nvarchar(50),
Mode nvarchar(10),
Status nvarchar(10)
)
INSERT INTO #Who
EXEC sp_who active --看哪個引起的阻塞,blk
INSERT INTO #Lock
EXEC sp_lock --看鎖住了那個資源id,objid
DECLARE @DBName nvarchar(20);
SET @DBName='STmo'
SELECT #Who.* FROM #Who WHERE dbname=@DBName
SELECT #Lock.* FROM #Lock
JOIN #Who
ON #Who.spid=#Lock.spid
AND dbname=@DBName
--最後發送到SQL Server的語句
DECLARE crsr Cursor FOR
SELECT blk FROM #Who WHERE dbname=@DBName AND blk<>0;
DECLARE @blk int
open crsr
FETCH NEXT FROM crsr INTO @blk
WHILE (@@FETCH_STATUS = 0)
BEGIN
dbcc inputbuffer(@blk)
FETCH NEXT FROM crsr INTO @blk
END
close crsr
DEALLOCATE crsr
--鎖定的資源
SELECT #Who.spid,hostname,objid,[type],mode,object_name(objid) as objName FROM #Lock
JOIN #Who
ON #Who.spid=#Lock.spid
AND dbname=@DBName
WHERE objid<>0
DROP Table #Who
DROP Table #Lock
spid int,
ecid int,
status nvarchar(50),
loginname nvarchar(50),
hostname nvarchar(50),
blk int,
dbname nvarchar(50),
cmd nvarchar(50))
CREATE Table #Lock(
spid int,
dpid int,
objid int,
indld int,
Type nvarchar(20),
Resource nvarchar(50),
Mode nvarchar(10),
Status nvarchar(10)
)
INSERT INTO #Who
EXEC sp_who active --看哪個引起的阻塞,blk
INSERT INTO #Lock
EXEC sp_lock --看鎖住了那個資源id,objid
DECLARE @DBName nvarchar(20);
SET @DBName='STmo'
SELECT #Who.* FROM #Who WHERE dbname=@DBName
SELECT #Lock.* FROM #Lock
JOIN #Who
ON #Who.spid=#Lock.spid
AND dbname=@DBName
--最後發送到SQL Server的語句
DECLARE crsr Cursor FOR
SELECT blk FROM #Who WHERE dbname=@DBName AND blk<>0;
DECLARE @blk int
open crsr
FETCH NEXT FROM crsr INTO @blk
WHILE (@@FETCH_STATUS = 0)
BEGIN
dbcc inputbuffer(@blk)
FETCH NEXT FROM crsr INTO @blk
END
close crsr
DEALLOCATE crsr
--鎖定的資源
SELECT #Who.spid,hostname,objid,[type],mode,object_name(objid) as objName FROM #Lock
JOIN #Who
ON #Who.spid=#Lock.spid
AND dbname=@DBName
WHERE objid<>0
DROP Table #Who
DROP Table #Lock
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.