none
Восстановление баз на момент последней завершенной транзакции RRS feed

  • Вопрос

  • Добрый день!

    Подскажите пожалуйста ссылки на документы в которых описано следующее:

    как все знают есть различные типы архивов (полные, дифферинциальные и тд и тп) и проблем с созданием восстановлением нет (на момент последнего бекапа), но хотелось бы ссылочки, в которых описываютя варианты когда база находиться например в suspend и надо восстановить до последней удачной (завершенной) транзакции. То есть что бы не потерять ни одной минуты или несколько....

    Заранее спасибо!

    16 июля 2008 г. 20:50

Ответы

  • Вкратце попробую рассказать. Условия предположим такие: у нас делается full backup раз в воскресенье в 03:00, diff backup каждый день в 21:00 и backup log раз в час. Сегодня среда и время 10:31, база упала только что. Процесс восстановления будет выглядить следующим образом:
    1) если есть возможность сделать backup log mydb to disk='c:\tail.trn' with no_truncate - то делаем. Это наши транзакции с 10:00 (последний backup log) по настоящее время - 10:31.
    2) восстанавливаем full backup с ключом with norecovery
    3) восстанавливаем последний diff backup (который был сделан вчера в 21:00) также с ключом with norecovery

    Дальше зависит от п.1 - если удалось сделать бакап лога транзакций с 10:00 до 10:31, то делаем так:

    4) восстанавливаем в хронологическом порядке все бакапы логов, которые были сделаны с 21:00 по 10:00 - также с ключом with norecovery
    5) восстанавливаем лог который был сделан в п.1 с ключом with recovery.
    В данном случае потери транзакций будут минимальны.

    Если не удалось сделать лога в п.1 то:
    4) восстанавливаем в хронологическом порядке все бакапы логов, которые были сделаны с 21:00 по 9:00- также с ключом with norecovery
    5) восстанавливаем лог из бакапа, который был сделан в 10-00 with recovery.
    В данном случае потеряны будут транзакции с 10:00 до 10:31.
    17 июля 2008 г. 4:38