Как заблокировать базу данных SQL Server для изменений?
Я хочу убедиться, что моя база данных (SQL Server 2008) остается неизменной, но по-прежнему доступна для чтения во время некоторых операций обслуживания (резервные копии, переходы на другие серверы БД и т. д), как я могу программно заблокировать его для изменений в C#?
1 ответов
вы можете выполнить ALTER DATABASE <mydb> SET READ_ONLY
перевести базу данных в режим только для чтения.
Если вы хотите, чтобы команда потерпела неудачу, если она не может быть выполнена немедленно, вы указываете ее следующим образом:
ALTER DATABASE <mydb>
SET READ_ONLY
WITH NO_WAIT
Если вы хотите сделать откат всех открытых соединений можно указать команду:
ALTER DATABASE <mydb>
SET READ_ONLY
WITH ROLLBACK IMMEDIATE
эти функции хорошо документированы в SQL Server книги в интернете