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

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

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

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

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

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

6 голосов | спросил BradC 27 Maypm09 2009, 20:42:58

4 ответа


12

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

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

Спасибо

ответил Paul Randal 27 Maypm09 2009, 21:14:35
5

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

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

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

ответил mrdenny 27 Maypm09 2009, 20:51:07
0

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

ответил Jerry Rubin 13 +04002009-10-13T01:11:12+04:00312009bEurope/MoscowTue, 13 Oct 2009 01:11:12 +0400 2009, 01:11:12
0

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

Время полного резервного копирования в SQL 2005 db: - 23 часа Журналы Tran @ каждые 15 минут: - то есть 22,15, 22,30, 22,45, 23,00.

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

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

ответил 17 J0000006Europe/Moscow 2010, 14:33:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132