快照

Version >= SQL Server 2008 R2

SET TRANSACTION ISOLATION LEVEL SNAPSHOT

指定事务中任何语句读取的数据将是事务开始时存在的数据的事务一致版本,即,它将仅读取在事务启动之前已提交的数据。

SNAPSHOT 事务不会请求或导致对正在读取的数据的任何锁定,因为它只读取事务开始时存在的数据的版本(或快照)。

SNAPSHOT 隔离级别运行的事务在运行时只读取自己的数据更改。例如,事务可以更新某些行,然后读取更新的行,但只有在提交之后,该更改才会对当前事务可见。

注意:必须先将 ALLOW_SNAPSHOT_ISOLATION 数据库选项设置为 ON,然后才能使用 SNAPSHOT 隔离级别。