社区
应用实例
帖子详情
sql server数据库死锁
yandyzg
2004-12-23 02:37:18
运行时出现如下情况:
A deadlock was detected.
事务(进程ID 51)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。
问题急,请各位回复!!!
...全文
158
4
打赏
收藏
sql server数据库死锁
运行时出现如下情况: A deadlock was detected. 事务(进程ID 51)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。 问题急,请各位回复!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cgsun
2004-12-24
打赏
举报
回复
识别死锁原因
例如,可以创建一个跟踪来捕获与 TSQL 和 Stored Procedure 事件类(RPC:Starting 和 SQL:BatchStarting)以及 Locks 事件类(Lock:Deadlock 和 Lock:Deadlock Chain)相关的事件。在这个跟踪内包括所有数据列并按 Event Class 分组。如果想一次只监视一个数据库,为 Database ID 事件准则指定一个值。
若要查看死锁所涉及的连接,执行下列操作之一:
打开包含捕获的数据的跟踪,按 ClientProcessID 将数据分组并展开死锁所涉及的两个连接。
将捕获的数据保存到一个跟踪文件,然后打开这个跟踪文件两次,使其显示在两个单独的 SQL 事件探查器窗口内。按 ClientProcessID 将捕获的数据分组,然后展开死锁所涉及的进程 ID;每个死锁连接都在一个单独的窗口内。平铺窗口以查看导致死锁的事件。
然後,對證下藥
yandyzg
2004-12-24
打赏
举报
回复
这种情况怎么解决呢?有什么方式可以避免呢?望大侠们指点迷津!(急)
mschen
2004-12-23
打赏
举报
回复
--你这是由于发生了死锁.Sql Server自动的牺牲了其中的一个事务.看看下边的说明,你可能会明白why?
SQL Server 通常只执行定期死锁检测,而不使用急切模式。因为系统中遇到的死锁数通常很少,定期死锁检测有助于减少系统中死锁检测的开销。
当锁监视器对特定线程启动死锁检测时,它识别线程正在等待的资源。然后,锁监视器查找特定资源的拥有者,并递归地继续执行对那些线程的死锁搜索,直到找到一个循环。用这种方式识别的循环形成一个死锁。
在识别死锁后,SQL Server 通过自动选择可以打破死锁的线程(死锁牺牲品)来结束死锁。SQL Server 回滚作为死锁牺牲品的事务,通知线程的应用程序(通过返回 1205 号错误信息),取消线程的当前请求,然后允许不间断线程的事务继续进行。
SQL Server 通常选择运行撤消时花费最少的事务的线程作为死锁牺牲品。另外,用户可以使用 SET 语句将会话的 DEADLOCK_PRIORITY 设置为 LOW。DEADLOCK_PRIORITY 选项控制在死锁情况下如何衡量会话的重要性。如果会话的设置为 LOW ,则当会话陷入死锁情况时将成为首选牺牲品。
yingqing
2004-12-23
打赏
举报
回复
幫你up
查询
SQL
server
数据库
死锁
存储过程
查询
SQL
server
数据库
死锁
存储过程
HIS系统
SQL
Server
数据库
死锁
问题的分析与解决.pdf
HIS系统
SQL
Server
数据库
死锁
问题的分析与解决.pdf
SQL
Server
死锁
产生的原因及解决办法
本文举例说明
SQL
Server
死锁
产生的原因,并提出了解决的办法。
sql
server
死锁
处理
sql
server
数据库
死锁
的处理过程,内有说明,测试过,比较好用。
sql
数据库
死锁
查询工具
数据库
死锁
,阻塞查询,杀死
死锁
,阻塞进程
应用实例
27,579
社区成员
68,558
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章