1

每天我都会运行一个 sql server 脚本来更新我的表。每周一次,我成为数据库死锁的受害者。有几个人可以访问数据库,他们都知道他们不应该在数据库更新时访问数据库。但是在更新期间有人正在访问数据库,我们遇到了死锁。有没有办法避免成为僵局的受害者?我听说过死锁优先级。如果我将死锁优先级设​​置为 10 会有帮助吗?使用死锁优先级是否有任何性能问题或后果?

4

2 回答 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 回答