SQL-сервер:Как увеличить размер журнала транзакций?

StackOverflow https://stackoverflow.com/questions/1011311

Вопрос

Как увеличить размер журнала транзакций?Возможно ли также временно увеличить журнал транзакций?

Допустим, у меня есть следующий сценарий.У меня есть операция удаления, которая слишком велика для текущего журнала транзакций.Я хочу:

  • Увеличьте журнал транзакций (могу ли я определить текущий размер? Могу ли я определить, насколько большим мне нужен журнал транзакций для моей операции?)
  • (Выполнить мою операцию)
  • Резервное копирование журнала транзакций
  • Восстановите размер журнала транзакций.
Это было полезно?

Решение

Короткий ответ:

Длинный ответ:вы можете использовать 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 автоматически обрезает неактивные транзакции

При восстановлении журнал транзакций будет уменьшен

Чтобы настроить автоматическое увеличение:

  1. Щелкните правой кнопкой мыши базу данных в студии управления.
  2. Выберите Свойства
  3. Обновить значение автоматического роста

Самая важная часть — последняя строка вашего сценария:«Восстановите размер журнала транзакций». Вы имеете в виду смягчить журнал до его первоначального размера.

Это действительно опасно по множеству причин, и мы рассмотрели их в нескольких статьях на SQLServerPedia:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top