0

我正在调查死锁,我在分析器的死锁 xml 文件中看到进程process5332cf8在快照隔离级别 ( isolationlevel="snapshot (5)")下运行事务。

但不知何故,它在一个页面上持有IX锁,并想再拿一个。

这可能是什么原因(除了隔离级别在执行过程中更改为非快照,这不太可能发生)?

我错过了一些关于 Snapshot IL 的东西吗?

PS:完整的xml:http: //ideone.com/yuU9td

4

1 回答 1

5

写入总是需要锁定。IX 是写锁。至于其他进程(两个 SELECT,进程 process6593498 和 process5cc1498),它们处于读取提交状态。

如果您想避免与快照隔离的争用,您必须首先将它用于您的读取事务。

于 2013-07-26T15:48:11.720 回答