Как сделать журнал как можно меньше в базе данных SQL? - PullRequest
1 голос
/ 02 февраля 2009

Этот вопрос может быть элементарным, но здесь идет речь:

У меня есть база данных SQL Server с файлом журнала 4 ГБ. База данных составляет 16 ГБ и резервируется каждую ночь.

Могу ли я регулярно обрезать журнал, потому что вся БД + Журнал резервируется каждую ночь?

Ответы [ 3 ]

2 голосов
/ 02 февраля 2009

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

BACKUP LOG DBNAME
TO disk = 'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\DBNAME.log'
DBCC SHRINKFILE('DBNAME_Log', 1)
1 голос
/ 03 февраля 2009

Вы уверены, что журнал архивируется ночью, а не только база данных?

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

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

0 голосов
/ 03 февраля 2009

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

Вам все равно нужно будет один раз сжать файл журнала, используя DBCC SHRINKFILE, но если после этого момента его регулярно резервируют, он не должен стабилизироваться при меньшем размере.

...