Ошибка резервного копирования SQL 2005 Diff - полная резервная копия не существует?
У меня есть сервер SQL 2005 с пакетом обновления 2 (SP 2), на котором выполняется план обслуживания, который ежедневно выполняет полные резервные копии в 22:00, разностные резервные копии каждые 4 часа и резервные копии журналов каждые 30 минут. План создает резервные копии всех системных и пользовательских баз данных (все пользовательские базы данных находятся в режиме полного восстановления). Полное и полное журналирование резервных копий завершено и проверено без проблем - я подтвердил это, выполнив несколько тестовых восстановлений. Каждое утро резервная копия diff выдает ошибку из 2 баз данных, утверждая, что не существует полной резервной копии.
Это всегда те же две базы данных, которые имеют эту ошибку - все остальные в порядке. Если я снова запусту полное резервное копирование, то различия будут работать до следующего утра.
Я совершенно уверен, что проблема заключается в резервном копировании VSS, которое запускается в полночь компанией, управляющей серверами с помощью Bacula. В журналах SQL я вижу, что VSS замораживает / оттаивает системные базы данных и эти две базы данных только при запуске Bacula.
Очевидно, что я могу просто заставить хостинг Co прекратить резервное копирование БД в рамках своей работы, так как они все равно забирают мои файлы резервных копий SQL, но я просто хочу знать, почему это происходит. Что может отличаться в этих двух базах данных, так как все опции, которые я проверил, идентичны тем, которые заканчиваются нормально. У меня такой же план установки на другом сервере, который работает без проблем.
Спасибо, Крис.
3 ответа
Я не получил однозначного ответа о том, почему это происходит только на этих двух базах данных (и только на этом сервере), но я решил перенастроить время резервного копирования для всего, чтобы наше полное резервное копирование (SQL) происходило сразу после резервное копирование Bacula запускается, поэтому мы можем сбросить любой установленный флаг неправильно. Так было несколько дней без проблем.
Я думаю, что вы должны проверить историю заданий для задания, которое выполняет полное резервное копирование в 22:00. Может быть предупреждение, и некоторые резервные копии базы данных могут быть пропущены, либо та, либо база данных 2, для которой нет полной резервной копии, не планируют полную резервную копию. Также проверьте длительность задания полного резервного копирования, это может быть действительно проблема, если резервное копирование Co Bacula запускается до завершения полного резервного копирования (хотя 2 часа для полного резервного копирования баз данных немного экстремально). В любом случае сообщение является явным, и по какой-то причине полное резервное копирование не происходит в этих двух базах данных.
ВСЕ ли ваша база данных работает в режиме полного восстановления? резервные копии VSS могут вести себя по-разному, в зависимости от того, полностью или просто выполняется восстановление.
Если резервное копирование VSS происходит после того, как вы выполнили резервное копирование diff и перед выполнением полного резервного копирования, то это ваша проблема. Вам нужна последняя полная резервная копия, чтобы ваш diff мог работать.
Ваши варианты, как я вижу это:
- Отключите службу записи SQL VSS, чтобы остановить сторонние резервные копии, которые нарушают цепочку резервного копирования
- Удалите встроенную группу администраторов из роли сервера sysadmin в SQL Server (просто убедитесь, что у вас есть другой пользователь или пароль sa), что приведет к нарушению возможности службы VSS SQL получать доступ к SQL для выполнения этих резервных копий.
- Игнорируйте его и начните использовать резервные копии журналов, которые у вас есть, просто убедитесь, что у вас достаточно средств, чтобы покрыть вас из ВАШЕЙ последней полной резервной копии.