SQL-сервер:Как увеличить размер журнала транзакций?
-
06-07-2019 - |
Вопрос
Как увеличить размер журнала транзакций?Возможно ли также временно увеличить журнал транзакций?
Допустим, у меня есть следующий сценарий.У меня есть операция удаления, которая слишком велика для текущего журнала транзакций.Я хочу:
- Увеличьте журнал транзакций (могу ли я определить текущий размер? Могу ли я определить, насколько большим мне нужен журнал транзакций для моей операции?)
- (Выполнить мою операцию)
- Резервное копирование журнала транзакций
- Восстановите размер журнала транзакций.
Решение
Короткий ответ:
- SQL 2k5/2k8 Как:Увеличение размера базы данных (SQL Server Management Studio) (применимо и к журналу), Как:Сжать базу данных (SQL Server Management Studio)
- SQL 2К Как увеличить размер базы данных (Enterprise Manager), Как сжать базу данных (менеджер предприятия)
Длинный ответ:вы можете использовать ALTER DATABASE ... MODIFY FILE
изменить размер файлов базы данных, включая файлы LOG.Вы можете посмотреть вверх master_files/sysfiles
(2к) или <dbname>.sys.database_files
(2k5/2k8), чтобы получить логическое имя журнала.И вы можете использовать DBCC SHRINKFILE
сжать файл (если возможно).
Могу я сказать, насколько велик мне нужен журнал транзакций для моей работы?
Это зависит от множества факторов (это новые данные?это обновление?это удаление?какая модель восстановления?Есть ли у вас сжатие в SQL 2k8?и т. д. и т. п.), но обычно он больше, чем вы ожидаете.Я бы оценил размер обновления, которое вы собираетесь выполнить, в 2,5 раза больше.
Обновлять:
Пропустил, говоришь, это УДАЛЕНИЕ.По приблизительным оценкам, в 1,5 раза больше размера удаленных данных (включая все индексы).
Другие советы
Журнал транзакций можно настроить для расширения по мере необходимости.Вы устанавливаете опцию автоматического роста.Однако, когда журнал транзакций становится слишком большим (недостаточно места на диске) или делает сервер sql непригодным для использования.
Резервное копирование журнала транзакций.SQL автоматически обрезает неактивные транзакции
При восстановлении журнал транзакций будет уменьшен
Чтобы настроить автоматическое увеличение:
- Щелкните правой кнопкой мыши базу данных в студии управления.
- Выберите Свойства
- Обновить значение автоматического роста
Самая важная часть — последняя строка вашего сценария:«Восстановите размер журнала транзакций». Вы имеете в виду смягчить журнал до его первоначального размера.
Это действительно опасно по множеству причин, и мы рассмотрели их в нескольких статьях на SQLServerPedia: