SQL 2005 в режиме ожидания / только для чтения. Можно ли восстановить базу данных, чтобы сделать резервную копию, а затем продолжить применение журналов транзакций? - PullRequest
3 голосов
/ 10 декабря 2010

Я только начал работать в новой компании, и я отвечаю за сервер отчетов SQL.Процесс синхронизации базы данных для отчетов с производственной базой данных состоит в том, чтобы постоянно поддерживать рабочую базу данных в режиме ожидания / только для чтения, чтобы они могли применять журнал транзакций, поступающий каждую ночь с рабочей базы данных.

Мне нужно получить копию текущей базы данных отчетов, чтобы я мог поместить ее на тестовый сервер, к сожалению, я не могу сделать ее полную резервную копию в состоянии ожидания / только для чтения.

Я понимаю, что могу вывести его из этого режима, выполнив «восстановить базу данных« dbname »с помощью восстановления».Однако после того, как я это сделаю, могу ли я вернуть базу данных в режим ожидания / только для чтения, чтобы продолжить применение ночного журнала транзакций?

1 Ответ

2 голосов
/ 10 декабря 2010

Нет.Невозможно вернуть базу данных в режим ожидания / только чтение после использования параметра восстановления WITH RECOVERY.

Когда база данных находится в режиме восстановления, в базе данных могут быть незавершенные транзакции, что означает, что база данныхне в состоянии готовности.Либо вы восстанавливаете следующую резервную копию журнала транзакций, которая завершит транзакции, либо вы выполняете восстановление «WITH RECOVERY», которое будет откатывать открытые транзакции.После отката открытых транзакций невозможно восстановить следующую резервную копию журнала транзакций, поскольку база данных больше не находится в состоянии, ожидаемом для восстановления журнала транзакций.

РЕДАКТИРОВАТЬ:Альтернативой является восстановление копии самой последней производственной полной резервной копии и восстановление соответствующих резервных копий журнала транзакций в эту базу данных.

...