Управление размером файла журнала транзакций

В некоторых случаях может быть полезным изменение размера физического файла журнала.

Контроль используемого пространства журнала

Контролировать используемое пространство журнала можно с помощью процедуры DBCC SQLPERF (LOGSPACE). Она возвращает сведения об объеме пространства, используемого журналом в данный момент, и указывает, если необходимо провести усечение журнала транзакций. Дополнительные сведения см. в разделе DBCC SQLPERF (Transact-SQL). Для получения сведений о текущем размере файла журнала, его максимальном размере и параметре автоматического увеличения файла можно использовать столбцы size, max_size и growth для данного файла журнала в представлении sys.database_files. Дополнительные сведения см. в разделе sys.database_files (Transact-SQL).

Важное примечаниеВажно!

Рекомендуется избегать переполнения диска, содержащего журналы.

Сжатие файла журнала

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

ПримечаниеПримечание

Такие факторы, как долго выполняемые транзакции, удерживающие файлы журналов в активном состоянии в течение продолжительного периода времени, могут ограничить или вовсе не допустить возможность сжатия журнала. Дополнительные сведения см. в разделе Факторы, могущие вызвать задержку усечения журнала.

Дополнительные сведения см. в разделе Сжатие журнала транзакций.

Добавление или увеличение размера файла журнала

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

  • Файл журнала добавляется в базу данных с помощью предложения ADD LOG FILE инструкции ALTER DATABASE. Это позволяет увеличить размер файла. Дополнительные сведения о добавлении файлов см. в разделе Добавление и удаление файлов данных и журналов транзакций.

  • Файл журнала можно увеличить с помощью предложения MODIFY FILE инструкции ALTER DATABASE. При этом следует указать синтаксис SIZE и MAXSIZE. Дополнительные сведения см. в разделе ALTER DATABASE (Transact-SQL).

Оптимизация размера журнала транзакций базы данных tempdb

При перезапуске экземпляра сервера размер журнала транзакций базы данных tempdb изменяется и становится равным исходному размеру, который был до применения параметра автоматического увеличения файла. Это может понизить производительность журнала транзакций базы данных tempdb. Данной перегрузки можно избежать с помощью увеличения размера журнала транзакций базы данных tempdb после запуска или перезапуска экземпляра сервера. Дополнительные сведения см. в разделах База данных tempdb и Оптимизация производительности базы данных tempdb.

Управление размером файла журнала транзакций

Для управления размером файла журнала транзакций используется инструкция ALTER DATABASE (Transact-SQL). Следует отметить следующее:

  • Чтобы изменить текущий размер файла в КБ, МБ, ГБ и ТБ, используйте параметр «SIZE».

  • Чтобы изменить шаг приращения размера, используйте параметр FILEGROWTH. Значение 0 указывает, что автоматическое приращение выключено и дополнительное пространство для файла не разрешено.

  • Чтобы установить максимальный размер файла журнала в КБ, МБ, ГБ и ТБ или задать неограниченный размер, используйте параметр MAXSIZE.