Назад | Перейти на главную страницу

Максимальный размер файла журнала транзакций SQL Server

У меня несколько баз данных, все в Simple режим восстановления. Ранее были проблемы с размерами файлов журнала, и я уменьшил их все с помощью Management Studio Shrink задача. Я также установил для автоматического роста журналов максимальный размер 1024 МБ. Я ожидаю, что файл журнала будет продолжать расти по мере необходимости, пока он не достигнет 1024 МБ. У меня есть два вопроса:

  1. Что произойдет с файлом журнала после достижения этого предела?
  2. Влияет ли установка меньшего максимального предела (скажем, 100 МБ, а не 1024 МБ)?

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

Если ваш файл журнала достигает предельного размера во время транзакции и не может автоматически расти, транзакция не сможет зафиксироваться, и вы увидите ошибки в SQL. Размер файла журнала должен быть достаточного размера для обработки транзакций между ними. CHECKPOINT операции. Установка нижнего предела увеличивает вероятность того, что вы столкнетесь с проблемами из-за большой транзакции (зависит от рабочей нагрузки).

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

Если вам нужно часто сжимать файлы журнала, вам нужно либо добавить больше места в систему, либо переместить любые другие службы, требующие этого пространства, на другой сервер.

Что произойдет с файлом журнала после достижения этого предела?

У тебя проблемы. Сбой транзакций. Это откат на 1 ГБ в системе, которая, скорее всего, не подготовлена ​​к работе с нагрузкой, и на это уйдет буквально целая вечность вашего предполагаемого времени.

Влияет ли установка меньшего максимального предела (скажем, 100 МБ, а не 1024 МБ)?

У вас закончилось место раньше. КОТОРЫЕ emans определенные операции МОГУТ не работать

Обратите внимание, насколько крошечные базы данных вы работаете, но я

  • ВСЕГДА предварительно выделяйте их на максимальный размер и
  • Убедитесь, что у них есть передышка.

Здесь не работает с простым, но у меня есть база данных, которая работает с 500 МБ за 15-минутный интервал (мы создаем резервную копию каждые 50 минут), а журнал tx составляет 400 ГБ для случайного задания ETL. Это стоит мне буквально центов по сравнению с проблемами и потерей производительности растущего файла (а также вызванной вами внутренней фрагментации rel). Autogrow подходит ТОЛЬКО для "небольших баз данных низкого уровня".

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

В режиме простого восстановления они в значительной степени усекаются на каждой контрольной точке. Прочтите, что вы настроили.