Как программно включить READ COMMITTED SNAPSHOT в SQL Server?

Мне нужно программно включить READ COMMITTED SNAPSHOT в SQL Server. Как я могу это сделать?

Ответы

Ответ 1

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

Ответ 2

Я рекомендую сначала переключиться в режим 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;