Журнал транзакций SQL Server 2005 слишком большой - PullRequest
4 голосов
/ 08 января 2010

Я использую SQL Server 2005.

Моя схема резервного копирования в БД:
Модель восстановления: FULL
Тип резервного копирования: Полный
Компонент резервного копирования: База данных
Срок действия резервной копии истекает: через 0 дней
Перезаписать носитель: создать резервную копию существующего набора носителей, добавить к существующему набору резервных копий

БД записывает на диск 250 ГБ (фактическое 232 ГБ).

Мой файл _Data.mdf превышает 55 ГБ, а мой _Log.ldf - более 148 ГБ.

Мы столкнулись с ситуацией, когда наш двигатель был заполнен сегодня. Я переместил наши файлы ab_ Full.bak и ab _Log.bak на другой диск, чтобы освободить место - около 45 ГБ. Через пять часов свободное место составляет 37 ГБ.

Я новичок в управлении сервером SQL; Итак, у меня есть несколько основных вопросов о моих резервных копиях.

Я знаю, что мне нужно обновить базу данных, чтобы начать управлять размером журнала транзакций, чтобы предотвратить эту проблему в будущем. Итак, если у меня достаточно свободного места, я:
1. щелкните правой кнопкой на БД и выберите Резервное копирование
2. установите «Тип резервного копирования» в «Журнал транзакций»
3. измените «Срок действия резервной копии истечет» через 30 дней
4. нажмите «ОК»

Насколько я понимаю, это приведет к перемещению "закрытых" транзакций из журнала транзакций в резервную копию и усечению журнала транзакций.

Звучит ли этот план? Нужно ли мне вручную изменять размер файла журнала?

Спасибо за ваше время.

Ответы [ 2 ]

4 голосов
/ 08 января 2010

Делаете ли вы резервную копию журнала транзакций в любое время? Если вы используете модель восстановления FULL, то вам необходимо выполнить резервное копирование журнала транзакций, в дополнение к резервному копированию основной базы данных, или если вы не хотите выполнять резервное копирование журнала (зачем тогда использовать модель восстановления FULL? ) затем хотя бы укоротите журнал через некоторый регулярный интервал.

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

0 голосов
/ 14 декабря 2013

Лучшей процедурой является регулярное резервное копирование вашего файла журнала. В то же время, для «катастрофических» сценариев, подобных описанному вами, вы можете использовать этот фрагмент, чтобы уменьшить размер журнала: http://www.snip2code.com/Snippet/12913/How-to-correctly-Shrink-Log-File-for-SQL

...