Кто-нибудь знает, есть ли способ T-SQL перевести базу данных SQL Server в резервный режим только для чтения, как вы можете с предложением STANDBY в BACKUP DATABASE, только без выполнения BACKUP DATABASE?
Предыстория: у меня есть самодельная установка доставки журналов на SQL Server 2005 Workgroup Edition. Я нашел стороннюю утилиту резервного копирования, которая выполняет сжатые резервные копии. Это быстрее, чем BACKUP DATABASE, и файлы намного меньше, но в нем отсутствует возможность перевести базу данных в режим ожидания / только для чтения. Мне нужна эта возможность для отработки отказа при тестировании аварийного восстановления. Если мы выполним отработку отказа и зарегистрируем отправку с нашего (теперь активного) резервного сервера обратно на наш основной сервер, мы сможем просто вернуться обратно в конце тестирования вместо того, чтобы начинать все заново. Я могу сделать резервную копию хвоста журнала с помощью BACKUP DATABASE вместо стороннего инструмента, но было бы чище, если бы мне не пришлось.
Нет способа перевести базу данных в режим ожидания без одновременного восстановления базы данных из резервной копии. Как только база данных станет доступной для записи, вы не сможете подготовить ее к повторному восстановлению журналов, поскольку цепочка LSN была нарушена.
Не могли бы вы использовать
ALTER DATABASE your_database SET READ_ONLY
тогда используйте
ALTER DATABASE your_database SET READ_WRITE
когда вы хотите вернуться?
Должен признаться, я ответил на другой ваш пост (о вашем программном обеспечении для резервного копирования), и теперь, когда я читаю этот вопрос, я на самом деле немного обеспокоен тем, какое программное обеспечение для резервного копирования вы используете.
Это одна из тех вещей, где «слишком сложное» решение может фактически привести к катастрофе в будущем. Я ничего не знаю о программном обеспечении для резервного копирования, которое вы используете, но быстрый Google показал несколько плохих отзывов (но, к сожалению, устаревших).
Так что я не знаю. Есть ли какая-то конкретная причина, по которой вы хотите использовать это программное обеспечение для резервного копирования вместо того, чтобы доверять MS SQL Server, чтобы сделать это за вас?
Неужели скорость и место на диске не могут быть ТАК важнее, чем ЦЕЛОСТНОСТЬ и НАДЕЖНОСТЬ ДАННЫХ?
Я что-то упустил?
Может быть, Пол Рэндал захочет вмешаться здесь?