修改或删除数据前先备份,先备份,先备份(重要事情说三遍)!

1、首先,查看线程,分析是否存在阻塞进程,blocked>0都是当前被阻塞的进程 
SELECT * FROM sysprocesses where blocked >0 order by blocked ;

2、找到被阻塞的线程后,想要继续查看进程被谁阻塞,分析导致阻塞的源头

SELECT * FROM SYSPROCESSES WHERE spid =spid_no(这是你要分析的进程ID)

3、查看此进程执行的SQL 是哪个,查找问题原因
dbcc inputbuffer(spid);

4、如果想要结束当前进程,KILL 掉当前导致阻塞的SQL
kill spid

以上是手工分析,当前生产有哪些阻塞并自动分析出来源头,我下面提供一个自己整理的自动分析过程,亲测有效,可直接使用:

use master
go
declare @spid int,@bl int
DECLARE s_cur CURSOR FOR
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
OPEN s_cur
FETCH NEXT FROM s_cur INTO @spid,@bl
WHILE @@FETCH_STATUS = 0
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 )
FETCH NEXT FROM s_cur INTO @spid,@bl
end
CLOSE s_cur
DEALLOCATE s_cur

最新文章

  1. [Keras] Develop Neural Network With Keras Step-By-Step
  2. word2vec参数调整 及lda调参
  3. 搭建GoldenGate的单向复制环境
  4. 使用adb shell 进入手机修改文件的权限
  5. OF寄存器的判断
  6. 重构Web Api程序(Api Controller和Entity)续篇
  7. O(nlogn)LIS及LCS算法
  8. div中嵌套div水平垂直居中
  9. MySQL解决插入emoji表情失败的问题
  10. [ionic开源项目教程] - 第5讲 如何在项目中使用全局配置
  11. nginx 健康检查和负载均衡机制分析
  12. oracle数据库导出并重新导入
  13. 关于MATLAB处理大数据坐标文件2017620
  14. CF1097G Vladislav and a Great Legend
  15. JavaScript开发区块链只需200行代码
  16. db2 v11 安装测试
  17. tensorRT 构建推理引擎
  18. ---github git clone 加速
  19. (笔记)Linux内核中内存相关的操作函数
  20. eclipse中开发js会卡,去掉.project中的validate即可

热门文章

  1. 一次线上MySQL主从延迟排查
  2. 1.mysql读写
  3. 涂鸦基于OAuth2在开发者平台上的探索与实践
  4. IPFS挖矿赚钱吗?IPFS挖矿是真的吗?
  5. sqli-labs系列——第二关
  6. Java中的IO流 - 入门篇
  7. Trie、并查集、堆、Hash表学习过程以及遇到的问题
  8. Centos7安装nexus(maven私服)以及maven的相关配置
  9. 前端常见的请求数据汇总(GET POST)
  10. 如何获取canvas当前的缩放值