SQLSERVER?出现死锁查找方法和解决办法(推荐)
目录
- 项目场景:
- 1.查询死锁语句
- 1.1 查询被阻塞的数据
- 1.2 查询被阻塞的表(注意:一定要在被阻塞的数据库中查询)
- 1.3 查询阻塞或者死锁的语句
- 2 杀死死锁
项目场景:
https://www.jb51.net/database/316030hx6.htm
SQLSERVER
出现死锁查找方法和解决办法
1.查询死锁语句
1.1 blocked<>0 select dbid,* from sys.sysprocesses where 1=1 and spid >50 and blocked <> 0
查询结果,如图所示
被阻塞的数据库ID:7
备阻塞会话ID:55、57、58
正在阻塞当前会话的ID:58、56
1.1 查询被阻塞的数据
Select name,dbid from master.sys.sysdatabases where dbid=7
1.2 查询被阻塞的表(注意:一定要在被阻塞的数据库中查询)
SELECT request_session_id spid, OBJECT_NAME( resource_associated_entity_id ) tableName FROM sys.dm_tran_locks WHERE resource_type = 'OBJECT'
1.3 查询阻塞或者死锁的语句
blocked:58
dbcc inputbuffer(58)
2 杀死死锁
blocked:58
kill 58
到此这篇关于SQLSERVER 出现死锁查找方法和解决办法的文章就介绍到这了,更多相关SQLSERVER 死锁查找内容请搜索电脑手机教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持电脑手机教程网!