Цепочки журналов и журнал транзакций SQL Server - проверка работоспособности - PullRequest
3 голосов
/ 10 ноября 2010

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

Мы сделали это с помощью SQLServer Management Studio - щелкните правой кнопкой мыши базу данных, восстановите полную резервную копию, но оставьте в режиме восстановления, снова щелкните правой кнопкой мыши, восстановите журнал транзакций и т. Д.

Я сейчас пытаюсь убедиться, что в наших журналах не было пробелов.Можно ли предположить, что если SQL Server Management Studio позволил мне восстановить журналы без ошибок, то в журналах не было пробелов (например, цепочка журналов завершена)?

Другими словами - разрешит ли мне SQL восстанавливать логи, если есть пробелы?Я предполагаю, что это предупредит меня или остановит меня в этом случае.

Спасибо за любую помощь, которую вы можете предложить ....

Мы находимся на SQL 2005, но я думаю, что правила о цепочках журналовпохожи во всех версиях.

Ответы [ 2 ]

4 голосов
/ 11 ноября 2010

Согласно документу Работа с резервными копиями журнала транзакций от Microsoft:

Если резервная копия журнала отсутствует или повреждена, запускает новую цепочку журналов создав полную или дифференциальную резервную копию базы данных, а затем сделав резервную копию журнала транзакций, чтобы начать новую цепочку журналов.Мы рекомендуем вам сохранять резервные копии журналов транзакций, которые находятся перед отсутствующей резервной копией журналов, на случай, если вы когда-нибудь захотите восстановить базу данных на определенный момент времени в этих резервных копиях.Информацию о том, как защитить ваши резервные копии, см. В разделе Вопросы безопасности для резервного копирования и восстановления.

и Создание резервных копий журнала транзакций состояния:

Еслижурнал транзакций поврежден , работа, выполняемая с момента потери самой последней резервной копии журнала .Это подчеркивает важность размещения файлов журналов в отказоустойчивом хранилище.

Мое свободное чтение этого вопроса: Если потерянный файл является своего рода повреждением файла, если Management Studio или любой другой инструмент позволяет вамчтобы восстановить журналы без ошибок, вы можете быть уверены, что цепочка журналов завершена до последней резервной копии журнала транзакций, которую вы применяете.Вы должны быть уверены, что это последняя резервная копия журнала транзакций, доступная для этой базы данных, но об этом стоит подумать.

Если вы не доверяете моему прочтению (и документация не слишком ясна по этому вопросу), вы можете сделать простой тест, чтобы убедиться: скажем, у вас есть 10 журналов транзакций, которые нужно применить ... намеренно удалите 7-й (или случайный, но не первый и не последний) журнал транзакций и попробуйте метод аварийного восстановления.

Если вы получаете сообщение о том, что что-то вроде «отсутствует резервная копия файла журнала транзакций», вы можете быть уверены и доверять мне.

2 голосов
/ 10 ноября 2010

Вы правы. SQL не будет применять резервную копию журнала транзакций, если он не может быть применен , вы получили бы ошибку.

...