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

Сбой резервного копирования SQL 2005 Diff - нет полной резервной копии?

У меня есть сервер SQL 2005 SP 2 с планом обслуживания, который выполняет полное резервное копирование каждый день в 22:00, выполняет резервное копирование каждые 4 часа и резервное копирование журнала каждые 30 минут. План выполняет резервное копирование всех системных и пользовательских баз данных (все пользовательские БД находятся в режиме полного восстановления). Полные резервные копии и резервные копии журналов выполняются и проверяются без проблем - я подтвердил это, выполнив несколько тестовых восстановлений. Каждое утро резервная копия diff выдает ошибку из 2 баз данных о том, что полной резервной копии не существует.

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

Я почти уверен, что проблема заключается в резервном копировании VSS, которое запускается в полночь компанией, которая управляет серверами с помощью Bacula. В журналах SQL я вижу, что VSS замораживает / размораживает системные БД и эти две базы данных только при запуске Bacula.

Очевидно, я могу просто заставить хостинговую компанию прекратить резервное копирование БД в рамках своей работы, поскольку они все равно собирают мои файлы резервных копий SQL, но я просто хочу знать, почему это происходит. Что может отличаться в этих двух базах данных, так как все варианты, которые я проверял, идентичны тем, которые работают нормально. У меня такой же тарифный план на другом сервере, который работает без проблем.

Спасибо, Крис.

Я думаю, вам следует проверить историю заданий для задания, которое выполняет полное резервное копирование в 22:00. Может появиться предупреждение, и некоторые резервные копии базы данных могут быть пропущены, либо для этой базы данных, либо для двух баз данных, для которых нет полной резервной копии, не запланировано полное резервное копирование. Также проверьте продолжительность задания полного резервного копирования, действительно может возникнуть проблема, если резервное копирование Bacula Co начинается до завершения полного резервного копирования (хотя 2 часа для полного резервного копирования баз данных - это немного экстремально). В любом случае сообщение является явным, и по какой-то причине полное резервное копирование не выполняется в этих двух базах данных.

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

ВСЯ ли ваша база данных работает в режиме полного восстановления? Резервные копии VSS могут вести себя по-разному в зависимости от того, полное или простое восстановление.

Если резервное копирование VSS происходит после того, как вы сделали резервную копию diff и до того, как вы запустили полную резервную копию, это ваша проблема. Вам нужна последняя полная резервная копия, чтобы ваш diff мог работать.

Ваши варианты, как я вижу:

  1. Отключите службу SQL VSS Writer, чтобы остановить стороннее резервное копирование, которое нарушает вашу цепочку резервного копирования.
  2. Удалите встроенную группу администраторов из роли сервера системного администратора SQL Server (просто убедитесь, что у вас есть другой пользователь или у вас есть пароль sa), что эффективно нарушит способность службы SQL VSS обращаться к SQL для выполнения этих резервных копий.
  3. Игнорируйте это и начните использовать резервные копии журналов, которые у вас есть, просто убедитесь, что вы сохранили достаточно, чтобы покрыть вас от ВАШЕЙ последней полной резервной копии.