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