电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

通过查找引起死锁的的操作即可解决死锁[1]


发布日期:2018/11/19
 

说道死锁问题的解决一般情况下我们都是选择KILL进程但如果不查出引起死锁的原因死锁的现象则会频繁出现其实只要通过查找引起死锁的的操作就可以方便的解决死锁

具体的解决方法如下

再死锁发生时我们可以通过下面的语法查询到引起死锁的操作

use master

go

declare @spid int@bl int

DECLARE s_cur CURSOR FOR

select blocked

from (select * from sysprocesses where blocked> ) a

where not exists(select * from (select * from sysprocesses where blocked> ) b

where ablocked=spid)

union select spidblocked from sysprocesses where blocked>

OPEN s_cur

FETCH NEXT FROM s_cur INTO @spid@bl

WHILE @@FETCH_STATUS =

begin

if @spid =

select 引起数据库死锁的是: + CAST(@bl AS VARCHAR()) + 进程号其执行的SQL语法如下

else

select 进程号SPID+ CAST(@spid AS VARCHAR())+ + 进程号SPID+ CAST(@bl AS VARCHAR()) +阻塞其当前进程执行的SQL语法如下

DBCC INPUTBUFFER (@bl )

FETCH NEXT FROM s_cur INTO @spid@bl

end

CLOSE s_cur

DEALLOCATE s_cur

exec sp_who

然后查找程序/数据库此t_sql语法具体在什么地方使用

分析已经找到的解决问题

EG

/*

[] []

上一篇:编写Windows CE程序 (二)

下一篇:通过查找引起死锁的的操作即可解决死锁[2]