今天记录一下在研究SQL SERVER快照隔离时遇到的一些问题。
- 要启用快照隔离,必须执行下面的命令。
ALTER DATABASE TESTDB SET ALLOW_SNAPSHOT_ISOLATION ON;
- 启用快照隔离后,还有另一个选项
READ_COMMITTED_SNAPSHOT
,提交读快照。这里有两个选项,ON或者OFF.
首先我们看一下微软官方的解释。
- 如果设置
READ_COMMITTED_SNAPSHOT
值为OFF,则数据库隔离级别默认为READ COMMITTED.
如有要使用的隔离级别为快照隔离,必须在每个命令窗口里显示的指定隔离级别,因为每次设置的有效性仅限于当前窗口,新开一个还是默认的隔离级别。代码如下:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT;
- 如果设置
READ_COMMITTED_SNAPSHOT
值为ON,则数据库隔离级别默认为READ COMMITTED SNAPSHOT.