我需要以编程方式在SQL Server中启用READ COMMITTED SNAPSHOT。我怎么能这样做?
答案 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