Журнал транзакций имеет огромный рост после резервного копирования

Я программист с подработкой в ​​качестве вынужденного администратора баз данных.

У меня есть план обслуживания, который делает полное резервное копирование и «проверку целостности базы данных» каждую ночь. Делаю резервные копии журналов транзакций каждые 10 минут. Размер резервной копии журнала транзакций резко возрастает после резервного копирования базы данных — экспоненциально. Раньше я перестраивал индексы и статистику каждую ночь — я думал, что именно это вызывает всплеск журнала транзакций, — но удаление этих шагов ничего не изменило.

Зеркальное отображение наших резервных копий на медленных соединениях значительно помогло бы, если бы не этот массовый всплеск, поэтому я надеюсь, что это что-то, что я делаю неправильно. Кто-нибудь может что-нибудь предложить?


person aSkywalker    schedule 10.12.2009    source источник
comment
Можете ли вы указать, в каком режиме ведения журнала находится база данных - с полным или массовым ведением журнала.   -  person Andrew    schedule 10.12.2009
comment
Модель рекавери Полная - это одно и то же? Я использую SQL 2008. Я делаю резервные копии журнала транзакций только между 6 утра и полуночью. Полное резервное копирование происходит в 4 часа утра и обычно занимает всего пару минут. Большой журнал транзакций — это журнал 6 утра — первый после резервного копирования.   -  person aSkywalker    schedule 10.12.2009


Ответы (3)


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

Это совершенно нормально и, вероятно, не имеет никакого отношения к тому факту, что резервное копирование вашей базы данных происходит в 4 часа утра.

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

person BradC    schedule 10.12.2009

Это SQL 2000?

В SQL 2000 вы не должны запускать резервное копирование журнала во время выполнения полного резервного копирования, иначе «могут произойти плохие вещи», такие как блокировка или сильно раздутые файлы журналов.

См. эту запись ServerFault для "The Word" из "The Word". Человек», Пол Рэндал, который раньше отвечал за движок SQL в Microsoft.

См. эту последующую публикацию, где приведены некоторые идеи для пропуска резервное копирование журнала во время выполнения полного резервного копирования.

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

person BradC    schedule 10.12.2009
comment
Интересные вещи - Пол потрясающий. Я запускаю SQL 2008 и запускаю журналы транзакций только в течение «дня», поэтому я думаю, что с этим все в порядке. - person aSkywalker; 10.12.2009

Пока выполняется полное резервное копирование, резервные копии транзакций не будут выполняться. Итак, сколько времени занимает полное резервное копирование? В это время журнал транзакций не будет усекаться резервными копиями журнала транзакций.

person Matt Wrock    schedule 10.12.2009
comment
аналогично комментарию BradC - я не запускаю их одновременно, поэтому не думаю, что это должно быть проблемой. - person aSkywalker; 10.12.2009