According to BOL, "SNAPSHOT
Specifies that data read by any statement in a transaction will be the transactionally consistent version of the data that existed at the start of the transaction"
However, that is not exactly what I am observing. Consider this:
In the first tab, run this:
CREATE TABLE dbo.TestTable(i INT); GO
INSERT INTO dbo.TestTable(i) VALUES(1);
In another (the second) tab, run this:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT;
BEGIN TRANSACTION ;
Note that at this time there is only one row in TestTable. Go to the first tab again, and add one more row:
INSERT INTO dbo.TestTable(i) VALUES(2);
Return to the second tab and run a select:
SELECT i FROM dbo.TestTable;
i
-----------
1
2
(2 row(s) affected)
To me this looks like BOL might be wrong. What do you think?