Как программно включить READ COMMITTED SNAPSHOT в SQL Server? - PullRequest
15 голосов
/ 04 ноября 2008

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

Ответы [ 2 ]

21 голосов
/ 07 мая 2010

Я рекомендую сначала переключиться в режим 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;
5 голосов
/ 04 ноября 2008
ALTER DATABASE [dbname] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK AFTER 20 SECONDS 
...