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

Joã*_*ira 15 sql-server transactions isolation-level read-committed-snapshot

我需要以编程方式在SQL Server中启用READ COMMITTED SNAPSHOT.我怎样才能做到这一点?

Bil*_*zke 21

我建议先切换到single-user模式.这确保您是唯一的连接.否则,查询可能会被暂停.

来自:http://msdn.microsoft.com/en-us/library/ms175095.aspx

设置READ_COMMITTED_SNAPSHOT选项时,只允许在数据库中执行ALTER DATABASE命令的连接.ALTER DATABASE完成之前,数据库中必须没有其他打开的连接.

所以,使用这个SQL:

ALTER DATABASE <dbname> SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE <dbname> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <dbname> SET MULTI_USER;
Run Code Online (Sandbox Code Playgroud)

  • 这是一个该死的救星。谢谢。 (2认同)

Joã*_*ira 5

ALTER DATABASE [dbname] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK AFTER 20 SECONDS 
Run Code Online (Sandbox Code Playgroud)