如果并发事务更改了先前读取的行,则使事务失败并发生冲突

时间:2015-12-12 22:34:00

标签: sql-server isolation-level snapshot-isolation

如果某个行被使用SNAPSHOT隔离级别的事务修改,则对同一行的任何并发更新(通过另一个事务)都会导致SNAPSHOT事务失败并发生冲突。

有没有办法让只读过的行(不一定要修改过)发生同样的行为?

作为一个例子,如果发生以下序列,我希望TX1失败并发生冲突:

  1. TX1以SNAPSHOT隔离级别
  2. 开始
  3. TX1读取第1行
  4. TX2修改第1行并提交
  5. TX1提交,并且因为第1行在读取后已被修改而发生冲突而失败

0 个答案:

没有答案