正确,使用SNAPSHOT隔离从事务开始之前获取一致的提交数据。
READ UNCOMMITTED隔离(又名NOLOCK提示)将读取dirtz,不一致的数据
启用SNAPSHOT隔离后,它将对以后的所有SELECT生效。ALTER DATABASE
在这种情况下,您使用READ_COMMITTED_SNAPSHOT 运行
编辑:添加链接+引用的ALTER DATABASE(我的粗体)
在数据库级别启用“已提交读快照”选项。启用该功能后,即使没有事务使用快照隔离,DML语句也会开始生成行版本。启用此选项后,指定读取的提交隔离级别的事务将使用行版本控制而不是锁定。当事务以读取的提交隔离级别运行时,所有语句都会看到数据快照,因为它存在于语句开始处。
并来自使用快照隔离(我的粗体)
在数据库中启用快照隔离时,READ_COMMITTED_SNAPSHOT数据库选项确定默认的READ COMMITTED隔离级别的行为。如果未明确指定READ_COMMITTED_SNAPSHOT ON,则READ COMMITTED应用于所有隐式事务。这产生与设置READ_COMMITTED_SNAPSHOT OFF(默认值)相同的行为。当READ_COMMITTED_SNAPSHOT OFF有效时,数据库引擎将使用共享锁来强制执行默认隔离级别。如果将READ_COMMITTED_SNAPSHOT数据库选项设置为ON,则数据库引擎将使用行版本控制和快照隔离作为默认设置,而不是使用锁来保护数据。
所以,是的。
启用RCSI将允许读取获得一致的数据,并且不会被写入器阻止,而将继续使用“读取已提交”