每天我都会运行一个sql server脚本来更新我的表。每周我都会成为数据库死锁的受害者。有几个人可以访问数据库,他们都知道他们不应该在数据库更新时访问数据库。但是在更新期间有人正在访问数据库,并且我们有死锁。有没有办法避免成为死锁的受害者?我听说过死锁优先。如果我将死锁优先级设置为10会有帮助吗?使用死锁优先级是否存在性能问题或后果?
发布于 2013-01-11 05:28:05
假设其他进程的死锁优先级小于10,这应该会导致您赢得死锁解决方案。
如果会话具有不同的死锁优先级,则选择具有最低死锁优先级的会话作为死锁牺牲品。
http://msdn.microsoft.com/en-us/library/ms186736.aspx
当然,在您的更新期间,您可以始终运行脚本来删除其他用户的更新权限。
发布于 2013-01-11 11:51:52
有几个人可以访问数据库,他们都知道在数据库更新时他们不应该访问数据库
为什么不把数据库放在单用户中,在一个事务中完成更新和恢复到多用户?
拉杰
https://stackoverflow.com/questions/14267521
复制相似问题