SQL Server 表死锁的解决方法

2022-11-12 09:46:12
内容摘要
这篇文章主要为大家详细介绍了SQL Server 表死锁的解决方法,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!其实不光是上面描述的情况会锁
文章正文

这篇文章主要为大家详细介绍了SQL Server 表死锁的解决方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

其实不光是上面描述的情况会锁住表,还有很多种场景会使表放生死锁,解锁其实很简单,下面用一个示例来讲解:1 首先创建一个测试用的表:

代码如下:

 
CREATE TABLE Test 
( 
TID INT IDENTITY(1,1) 
) 
2 执行下面的SQL语句将此表锁住:

代码如下:

 
SELECT * FROM Test WITH (TABLOCKX) 
3 通过下面的语句可以查看当前库中有哪些表是发生死锁的:

代码如下:

 
SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableName 
FROM sys.dm_tran_locks 
WHERE resource_type='OBJECT ' 
4 上面语句执行结果如下:

【图片暂缺】

spid :被锁进程ID。tableName:发生死锁的表名。5 只需要使用kill关键字来杀掉被锁的进程ID就可以对表进行解锁:KILL 52

注:关于SQL Server 表死锁的解决方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!