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

Резервные копии журнала транзакций SQL конфликтуют с полными резервными копиями?

На наших серверах SQL (2000, 2005 и 2008) мы выполняем полное резервное копирование один раз в день вечером и резервное копирование журнала транзакций каждые 2 часа. Мы не особо беспокоились о конфликте этих двух процессов, но в последнее время мы столкнулись с некоторыми из следующих проблем:

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

  2. Иногда мы получаем файл резервной копии журнала транзакций огромного размера (иногда больше, чем полная резервная копия!), Который создается одновременно с полным резервным копированием.

Я нашел ссылку, указывающую, что им "запрещено" запускаться одновременно, что бы это ни значило: Электронная документация по SQL 2000 и Электронная документация по SQL 2005. Я не уверен, означает ли это, что сервер просто предотвращать их нельзя запускать одновременно, или если мы должны явно останавливать резервное копирование журналов, пока выполняется полное резервное копирование.

Так есть ли известные конфликты / проблемы между ними? Отличается ли ответ между версиями SQL? Следует ли мне проверять задание резервного копирования журнала транзакций, чтобы проверить, выполняется ли полное резервное копирование, перед его выполнением? (и как мне это сделать ...?)

В 2000 г. резервное копирование журналов не могло выполняться одновременно с резервным копированием diff или полным резервным копированием (поскольку резервное копирование журнала очищает некоторый журнал транзакций, а полное / diffs должно резервировать некоторый журнал, чтобы восстановленная копия базы данных была согласованной с транзакциями).

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

Спасибо

Резервные копии базы данных обычно следует сериализовать.

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

Вы можете запустить некоторый T / SQL, чтобы проверить таблицу sysprocesses (или DMV, если SQL 2005+), чтобы увидеть, выполняется ли уже резервное копирование этой базы данных. Если нет, сделайте резервную копию, если да, то изящно спасайтесь.

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

В моем сценарии ... доставка журналов

Время полного резервного копирования SQL 2005 db: - 23 часа Tran logs @ каждые 15 минут: - т.е. 22.15, 22.30, 22.45, 23.00.

Но всякий раз, когда начинается полное резервное копирование db ... журналы tran перестают генерироваться, и наш резервный db выходит из синхронизации.

Итак, мы задержали логи транзакций на 5 минут ... и проблема была решена.