Назад | Перейти на главную страницу

Требуется резервная копия журнала, даже если мы берем полную + дифференциальную резервную копию файлов?

Вот что я делаю,

  1. Сделайте полную резервную копию ФАЙЛА в 1.00 AM
  2. Делайте дифференциальную резервную копию ФАЙЛА каждые 15 минут
  3. И мы ftp все данные в другое место и восстанавливаем все там

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

Потому что, даже если что-то выйдет из строя, данные за последние 15 минут никогда не будут восстановлены в случае сбоя оборудования, а для восстановления всего потребуется больше суток, в противном случае другой сервер может начать замену и продолжить работу.

Итак, в идеале, представьте себе ситуацию, как показано ниже,

1.00 AM full file backup transferred to server B
1.15 AM differential file backup transferred to server B
1.30 ... same as above
1.45 ... same as above
1.50 ... crash, machine down...

в этой позиции может ли Сервер B продолжить работу с восстановленной базой данных 1,45?

Потому что, если машина выйдет из строя в 1.50, она все равно не сможет передавать резервные копии журналов, а у нас уже есть полная резервная копия и дифференциальные резервные копии, восстановленные на сервере B.

Итак, вопрос переопределен: если у нас есть правильные полные + дифференциальные резервные копии файлов, нужны ли нам резервные копии журналов?

Пока данные до 1.45 не противоречат друг другу, мы можем двигаться дальше.

Я думаю, вы могли неправильно использовать дифференциальные резервные копии и резервные копии журналов. Дифференциальные резервные копии делают резервную копию всего, что было с момента последней полной резервной копии; резервные копии журналов делают резервную копию всего с момента последней резервной копии журнала. Большая разница в вашем случае заключается в том, что количество разностных резервных копий будет расти в течение дня и, следовательно, займет больше времени, скажем, в 16:00, чем в 8:00.

Это более распространенный способ сделать то, что я думаю, вы пытаетесь достичь:

  • Полная резервная копия в 1:00
  • Дифференциальное резервное копирование каждые 8 ​​часов
  • Резервное копирование журнала каждые 15 минут

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

Пока база данных находится в режиме простого восстановления, нет, резервные копии журналов вам не понадобятся. Это должно работать в вашем сценарии.

Однако, если вы оставите базу данных в режиме полного восстановления, вам нужно будет сделать резервные копии журналов, чтобы позволить журналу перезапустить себя. Однако в данном случае это не имеет смысла. Просто используйте простой режим.

В этом сценарии вам не нужны резервные копии журналов транзакций для восстановления базы данных; но ты по-прежнему необходимо сделать их, чтобы очистить журналы, иначе они вырастут, чтобы заполнить все доступное дисковое пространство.