SQL Server快照隔离级别问题

问题描述:

我从下面的链接学习SQL Server 2008的快照隔离级别。我的困惑是,SQL Server快照隔离级别问题

http://msdn.microsoft.com/en-us/library/ms173763.aspx

  1. 应该提及的“当前交易开始后由其它事务中做出的数据修改不会在当前事务中执行的语句是可见的。” - 似乎其他事务提交的数据对当前快照隔离级别事务不可见;

  2. 它提到“在SNAPSHOT隔离级别下运行的事务可以查看该事务所做的更改”。 - 似乎其他事务提交的数据对当前快照隔离级别事务可见。

似乎1和2有冲突吗?任何意见?

由于事先 乔治

2号的意思是“我可以看到我自己的变化,我看不到其他变化”

所以,如果我开始一个事务,我做出改变,我可以看他们。其他会话/连接的其他交易在我的TXN无法看到我的更改后启动

+0

你是正确的,我做了一个错误的读数。 :-) – George2 2009-07-12 08:54:38

您还需要知道SNAPSHOT和READ COMMITTED SNAPSHOT之间的区别 - 对于后者,您需要修改BOL中的报价,如下所示:

“在当前事务中执行的语句不会显示当前 STATEMENT(不是事务!)开始后由其他事务所做的数据修改。”

时会产生很大的差异的情况下的一个例子:When Snapshot Isolation Helps and When It Hurts