Я зашел и проверил журнал транзакций на днях, и это было что-то сумасшедшее, как 15 ГБ. Я побежал следующий код:SQL Server 2008 - Сокращение журнала транзакций - любой способ автоматизации?
USE mydb
GO
BACKUP LOG mydb WITH TRUNCATE_ONLY
GO
DBCC SHRINKFILE(mydb_log,8)
GO
который работал хорошо, сжался его до 8MB ... но DB в вопросе является доставка журналов издатель, и журнал уже обратно до некоторой 500MB и растет быстро.
Есть ли способ автоматизировать сокращение этого журнала за пределами создания пользовательской задачи «Выполнение задачи T-SQL Task» и ее привязки к моей задаче резервного копирования журнала? Если это лучший способ, то хорошо ... но я просто думал, что SQL Server будет иметь лучший способ справиться с этим. Я думал, что он должен автоматически сжиматься всякий раз, когда вы берете резервную копию журнала, но этого не происходит (возможно, из-за моей доставки журналов, я не знаю).
Вот мой текущий план резервного копирования:
- Полное резервное копирование каждую ночь
- резервных копий журнала транзакций один раз в день, поздно утром (возможно, сцепите Log сокращения на это ... не нужно быть сжался каждый день)
Возможно, я просто запускаю его один раз в неделю после выполнения полной задачи резервного копирования? Что вы все думаете?
, если журнал заполняет право снова - в течение довольно короткого периода времени - что точка постоянно сокращается его? Просто потому, что файл не становится меньше, не означает, что он по-прежнему заполнен данными после резервного копирования журнала транзакций. – davek
«Какой смысл постоянно его усаживать?» Пространство на жестком диске ... Я думаю, что это не самые большие проблемы, но нет необходимости, чтобы эта вещь занимала пространство ГБ. – Albert
Похоже, вам просто нужны инкрементные полные резервные копии несколько раз в день, и вам не нужно сокращаться. – djangofan