注册 | 登录
欢迎注册会员

当前位置:首页 > 数据库 > MSSQL数据库 > 正文

查数据库中死锁问题的SQL

来源:程序人生 【 】 浏览:1529 添加日期:2010-08-12 11:10:50 我要评论(0)
SQL Code复制内容到剪贴板
  1. declare?@spid?int,@bl?int? ??
  2. ??
  3. DECLARE?s_cur?CURSOR?FOR? ??
  4. ??
  5. select?0?,blocked? ??
  6. ??
  7. from?(select?*?from?sysprocesses?where?blocked>0?)?a? ??
  8. ??
  9. where?not?exists(select?*?from?(select?*?from?sysprocesses?where?blocked>0?)?b? ??
  10. ??
  11. where?a.blocked=spid)? ??
  12. ??
  13. union?select?spid,blocked?from?sysprocesses?where?blocked>0? ??
  14. ??
  15. OPEN?s_cur? ??
  16. ??
  17. FETCH?NEXT?FROM?s_cur?INTO?@spid,@bl? ??
  18. ??
  19. WHILE?@@FETCH_STATUS?=?0? ??
  20. ??
  21. begin? ??
  22. ??
  23. if?@spid?=0? ??
  24. ??
  25. select?'?引起数据库死锁的是:?'+?CAST(@bl?AS?VARCHAR(10))?+?'?进程号,?其执行的SQL?语法如下'? ??
  26. ??
  27. else? ??
  28. ??
  29. select?'?进程号SPID?:'+?CAST(@spid?AS?VARCHAR(10))+?'?被'?+?'?进程号SPID?:'+?CAST(@bl?AS?VARCHAR(10))?+'?阻塞,?其当前进程执行的SQL?语法如下'? ??
  30. ??
  31. DBCC?INPUTBUFFER?(@bl?)? ??
  32. ??
  33. FETCH?NEXT?FROM?s_cur?INTO?@spid,@bl? ??
  34. ??
  35. end? ??
  36. ??
  37. CLOSE?s_cur? ??
  38. ??
  39. DEALLOCATE?s_cur? ??

?

在sql2000的查询分析器中运行


你浏览的文章是 - 《查数据库中死锁问题的SQL》!
文章出处:https://www.procedurelife.com/content/akkhle.html
0% (0)
0% (0)
评论0
头像 游客
1 2