SQL 2005 в режиме ожидания / только для чтения. Можно ли восстановить базу данных, чтобы сделать резервную копию, а затем продолжить применение журналов транзакций?
Я только начал в новой компании, и я отвечаю за отчетный сервер SQL. Процесс синхронизации базы данных для отчетов с производственной базой данных состоит в том, чтобы постоянно поддерживать рабочую базу данных в режиме ожидания / только для чтения, чтобы они могли применять журнал транзакций, который каждую ночь поступает из рабочей базы данных.
Мне нужно взять копию текущей базы данных отчетов, чтобы я мог поместить ее на тестовый сервер, к сожалению, я не могу сделать ее полную резервную копию в режиме ожидания / только для чтения.
Я понимаю, что могу вывести его из этого режима, выполнив "восстановить базу данных" dbname "с помощью восстановления". Однако после того, как я это сделаю, могу ли я вернуть базу данных в режим ожидания / только для чтения, чтобы продолжить применение ночного журнала транзакций?
1 ответ
Нет. Вы не можете вернуть базу данных в режим ожидания / только для чтения после использования восстановления. WITH RECOVERY
вариант.
Когда база данных находится в режиме восстановления, в базе данных могут быть незавершенные транзакции, что означает, что база данных не находится в состоянии готовности. Либо вы восстанавливаете следующую резервную копию журнала транзакций, которая завершит транзакции, либо вы выполняете восстановление "WITH RECOVERY", которое будет откатывать открытые транзакции. После отката открытых транзакций невозможно восстановить следующую резервную копию журнала транзакций, поскольку база данных больше не находится в состоянии, ожидаемом для восстановления журнала транзакций.
РЕДАКТИРОВАТЬ:
Альтернативой является восстановление копии самой последней производственной полной резервной копии и восстановление соответствующих резервных копий журнала транзакций в эту базу данных.