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