度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1045|回复: 3
打印 上一主题 下一主题

[分享] SqlServer表死锁的解决方法

[复制链接]

348

主题

3572

帖子

9335

积分

论坛元老

Rank: 8Rank: 8

积分
9335
跳转到指定楼层
楼主
发表于 2020-4-5 23:59:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前几天发了一篇检测死锁现象的帖子详解Sqlserver死锁检测的方法
,今天为大家带来解锁方法,下面用一个简单示例讲解:
1 首先创建一个测试用的表:

  1. CREATE TABLE Test
  2. (
  3. TID INT IDENTITY(1,1)
  4. )
复制代码
2 执行下面的SQL语句将此表锁住:
  1. SELECT * FROM Test WITH (TABLOCKX)
复制代码
3 通过下面的语句可以查看当前库中有哪些表是发生死锁的:
  1. SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableName
  2. FROM sys.dm_tran_locks
  3. WHERE resource_type='OBJECT '
复制代码
4 上面语句执行结果如下:

spid :被锁进程ID。
tableName:发生死锁的表名。

5 只需要使用kill关键字来杀掉被锁的进程ID就可以对表进行解锁:

KILL 52
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复

使用道具 举报

348

主题

3572

帖子

9335

积分

论坛元老

Rank: 8Rank: 8

积分
9335
沙发
 楼主| 发表于 2020-4-6 00:03:29 | 只看该作者
这是SqlServer数据库的死锁处理方式哈,oracle的死锁处理逻辑一样,只是sql语句会有一定差异
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9335

积分

论坛元老

Rank: 8Rank: 8

积分
9335
板凳
 楼主| 发表于 2020-4-6 00:04:10 | 只看该作者

点评

好萌呀望望!  详情 回复 发表于 2020-4-6 17:02
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
地板
发表于 2020-4-6 17:02:39 | 只看该作者

好萌呀望望!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-28 12:20 , Processed in 0.120291 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表