说道死锁问题的解决一般情况下我们都是选择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 /* [] [] |