SQL Server: как мне увеличить размер журнала транзакций? - PullRequest
5 голосов
/ 18 июня 2009

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

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

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

Ответы [ 3 ]

3 голосов
/ 18 июня 2009

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

Длинный ответ: вы можете использовать ALTER DATABASE ... MODIFY FILE, чтобы изменить размер файлов базы данных, включая файлы LOG. Вы можете посмотреть master_files/sysfiles (2k) или <dbname>.sys.database_files (2k5 / 2k8), чтобы получить логическое имя журнала. И вы можете использовать DBCC SHRINKFILE для сжатия файла (если это возможно).

могу ли я сказать, насколько мне нужно журнал транзакций для моего работа

Это зависит от множества факторов (это новые данные? Это обновление? Это удаление? Какая модель восстановления? У вас есть сжатие в SQL 2k8? И т. Д.), Но обычно оно больше, чем вы ожидаете. Я бы оценил размер обновления, которое вы собираетесь выполнить, в 2,5 раза.

Обновление:

Пропустил, вы говорите, УДАЛИТЬ. Приблизительная оценка в 1,5 раза превышает размер удаленных данных (включая все индексы).

3 голосов
/ 18 июня 2009

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

Резервное копирование журнала транзакций. SQL автоматически усекает неактивные транзакции

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

Чтобы настроить автогроу:

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

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

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

...