前段时间项目里报这样一条错误:
事务 进程ID 与另一个进程已被死锁在lock资源上,且该事务已经被选作死锁牺牲品.
很奇怪的错误,项目运行一年了,从未出过这样的错。 所以马上找出最近更新的代码进行检查,没有发现任何异常。 运行sqlSERVER2005的分析跟踪工具检查,发现,
不管是哪条语句,都有可能会导致这个错误。 当时那个汗!!!
仔细回想最近对服务器做的更新和更改,想起前几天提高了sqlserver2005的订阅发布频率,于是马上将订阅发布取消,死锁消失。。。。
原因; sqlServer2005的订阅发布,是事务性的,而事务性必然有锁表。正巧这段时间订单量猛增,自然就出死锁的情况了。。。。。。。 解决办法:减低订阅发布的频率
至今未出现死锁情况。
所以当出现死锁时 不一定就是程序出了问题。从最近最新的代码和服务器更改开始检查是最好的办法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。