如何在SQL Server中以编程方式启用READ COMMITTED SNAPSHOT



我需要在SQL Server中以编程方式启用READ COMMITTED SNAPSHOT。我该怎么做?

我建议先切换到single-user模式。这确保了你是唯一的连接。否则,查询可能会被挂起。

发件人:http://msdn.microsoft.com/en-us/library/ms175095.aspx

当设置READ_COMMITTED_SNAPSHOT选项,仅限执行ALTER的连接中允许使用DATABASE命令数据库决不能有其他打开的数据库中的连接,直到ALTER数据库已完成。

所以,使用这个SQL:

ALTER DATABASE <dbname> SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE <dbname> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <dbname> SET MULTI_USER;
ALTER DATABASE [dbname] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK AFTER 20 SECONDS 

最新更新