Sql Server表死锁的解决方法分享

时间:2011-09-01 19:08:00 

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

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

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,表,死锁
0
投稿

猜你喜欢

  • 带你深入了解MySQL语句优化的基本原则

    2008-11-27 17:00:00
  • 多维度导航探秘II

    2010-08-17 21:24:00
  • MySql数据库捕获sql语句异常的方法

    2011-08-05 18:17:28
  • 四种方法在SQL Server数据库中成批导入数据

    2009-02-19 17:25:00
  • 如何从数据库断开recordset,提高运行速度?

    2009-11-15 20:01:00
  • 如何编写一个只在Web服务关闭时执行的程序?

    2009-11-08 19:03:00
  • Yahoo!网站性能最佳体验的34条黄金守则——JavaScript和CSS

    2008-05-29 13:34:00
  • Dreamweaver MX 2004 试用心得

    2010-03-25 12:21:00
  • 自定义数据库自动编号初始值和步进值

    2009-05-19 10:00:00
  • 如何用MySQL-Front远程连接MySql?

    2010-12-03 16:02:00
  • 揭开HTML 5工作草稿的神秘面纱

    2008-02-13 08:25:00
  • SQL事务用法begin tran,commit tran和rollback tran的用法

    2012-01-05 18:58:51
  • asp日期时间格式化函数

    2009-12-14 12:56:00
  • Access创建一个简单MIS多媒体管理系统

    2008-10-13 12:31:00
  • Oracle DBA常用语句

    2009-08-05 20:15:00
  • 教你怎样打造SQL Server2000的安全策略

    2009-01-23 14:03:00
  • 完美解决MySQL中文乱码

    2011-03-16 15:16:00
  • 如何限制表单textarea的文字输入量

    2007-10-06 22:41:00
  • 如何测试字符串的长度?

    2009-11-11 20:02:00
  • asp如何定义参数?

    2010-05-16 15:20:00
  • asp之家 网络编程 m.aspxhome.com