SqlServer表死锁的解决方法

前些天写一个存储过程,存储过程中使用了事务,后来我把一些代码注释掉来进行调试找错,突然发现一张表被锁住了,原来是创建事务的代码忘记注释掉。本文表锁住了的解决方法。

还有很多种场景会使表放生死锁,解锁其实很简单,下面用一个示例来讲解:

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就可以对表进行解锁:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

MySQL 用户与权限管理

    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的相关DML,DQL权限。MySQL存取控制包含2个阶段,一是服务器...

2361
来自专栏运维小白

13.3 mysql常用命令

mysql常用命令目录概要 查询库 show databases; 切换库 use mysql; 查看库里的表 show tables; 查看表里的字段 des...

1978
来自专栏james大数据架构

android之数据存储之SQLite

          SQLite开源轻量级数据库,支持92-SQL标准,主要用于嵌入式系统,只占几百K系统资源此外,SQLite 不支持一些标准的 SQL 功能...

2029
来自专栏从零开始的linux

mysql基础语句

show命令 mysql> show databases; +--------------------+ | Database | +---...

2955
来自专栏杨建荣的学习笔记

MySQL中如何得到权限信息

最近在做一次MySQL数据迁移的时候,突然发现自己遗漏了一个地方,那就是权限信息没有导出,如果我们使用mysqldump --all-databases...

3105
来自专栏乐享123

Cisco 3560X Config Cheat

1533
来自专栏Laoqi's Linux运维专列

shell脚本备份mysql数据库

第一种方法: #!/bin/sh # 备份数据库 # Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKU...

4214
来自专栏zcqshine's blog

MAC OSX brew 升级 mysql5.6到5.7无法启动的问题

4118
来自专栏沃趣科技

mysqldump与innobackupex备份过程你知多少(一)

导语 1、先看mysqldump 1.1. mysqldump备份过程解读 1.2. mysqldump备份过程中的关键步骤 1.2.1. FLUS...

4989
来自专栏杨建荣的学习笔记

MySQL query rewrite插件简单测试

在机场继续努力一把,学习了下MySQL query rewrite这个插件,感觉还不错,j简答测试了下,已经找到Oracle FGA的影子了。

1722

扫码关注云+社区

领取腾讯云代金券