首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >触发器上的锁升级问题

触发器上的锁升级问题
EN

Database Administration用户
提问于 2013-04-11 11:18:23
回答 1查看 4.9K关注 0票数 6

我继承了一个SQL Server 2005数据库,该数据库每天会有2-3个死锁。

我追踪到了一个计划好的作业,它在白天运行,并插入到一个带有触发器的表中。

触发器由另一个表的10个更新组成,标准略有不同。死锁发生在触发器中。

当一个人创建了一个应用程序,并且作业正在运行时,就会发生死锁。应用程序插入到与计划作业相同的表中。

查看跟踪,当process 1获得密钥锁,process 2获得页锁,然后process 1将密钥锁升级到页锁,而process 2试图获得密钥锁。

我添加了缺失的索引,这似乎有所帮助,但它仍在发生。我不是一个DBA,所以任何关于解决这个问题的方法的建议都将不胜感激。

我添加了一个到死锁xml的链接--这是我为复制问题而做的一个测试的结果。

死锁xml

EN

回答 1

Database Administration用户

发布于 2013-04-11 12:12:14

这两个锁位于不同的表上,因此您有标准的“两个进程按oposite顺序更新两个资源”死锁问题。

更改使用锁的顺序,以便两个过程都遵循相同的顺序。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/39747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档