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

时间:2008-11-04 17:06:18

标签: sql-server transactions isolation-level read-committed-snapshot

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

2 个答案:

答案 0 :(得分:21)

我建议先切换到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;

答案 1 :(得分:5)

ALTER DATABASE [dbname] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK AFTER 20 SECONDS