SQL Server удаляет старые файлы журнала ошибок?

12

Я знаю, что могу легко зациклить текущий журнал ошибок, запустив sp_cycle_errorlog, но мне интересно, удалит ли когда-нибудь SQL Server старые / архивированные файлы журнала ошибок вообще. Кажется, нигде не могу найти ответ на этот вопрос ...

tuseau
источник

Ответы:

19

В SQL Server Management Studio, Object Explorer> Managementесть настройка, если щелкнуть правой кнопкой мыши SQL Server Logsи выбрать Configure. Вы можете указать, сколько файлов журнала вы хотите сохранить. Как только он достигнет этого числа, он начнет удалять старые.

введите описание изображения здесь

Кеннет Фишер
источник
8

Перезапустите SQL Server 7 раз. Вы увидите, что у вас все еще есть только 7 ERRORLOG*файлов (в зависимости от версии). Это текущий файл журнала и 6 самых последних файлов журнала.

Примечание. Возможно, вам придется изменить значение 7 на другое, если вы изменили количество журналов ошибок, которые хранит SQL Server . Максимум, я полагаю, составляет 99. Но независимо от того, какой у вас текущий параметр, он в конечном итоге будет перерабатывать и очищать старые файлы.

Я проверил это и, если вы снимите флажок, который говорит:

☐ Ограничьте количество файлов журнала ошибок до их повторного использования.

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

Итак, краткий ответ: да, во всех случаях SQL Server в конечном итоге сможет удалить старые файлы журнала ошибок.

Аарон Бертран
источник
7

SQL Server автоматически перезаписывает журналы ошибок, если вы правильно его настроили.

См. Http://msdn.microsoft.com/en-us/library/ms177285.aspx . Я скопировал основные моменты ниже:

В обозревателе объектов разверните экземпляр SQL Server, разверните Управление, щелкните правой кнопкой мыши Журналы SQL Server и выберите Настроить.

В диалоговом окне «Настроить журналы ошибок SQL Server» выберите один из следующих параметров.

  • Ограничьте количество файлов журнала ошибок до их повторного использования.

    • Установите флажок, чтобы ограничить количество журналов ошибок, создаваемых до их повторного использования. Новый журнал ошибок создается при каждом запуске экземпляра SQL Server. SQL Server сохраняет резервные копии предыдущих шести журналов, если только вы не отметите эту опцию и не зададите другое максимальное количество файлов журналов ошибок ниже.
  • Максимальное количество файлов журнала ошибок

    • Укажите максимальное количество файлов журнала ошибок, созданных до их повторного использования. По умолчанию используется значение 6, то есть количество предыдущих журналов резервного копирования, которые SQL Server сохраняет до их повторного использования.
Макс Вернон
источник
2

Да, существует конфигурация для количества поддерживаемых журналов ошибок.

Его можно найти в разделе реестра по адресу:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs

Вам может понадобиться добавить этот ключ.

ДКП
источник
1
Обратите внимание, что вам нужно заменить первый экземпляр на MSSQLServerваш ID экземпляра, если это именованный экземпляр (например, MSSQL12.SQL2014для моего именованного экземпляра 2014 года SQL2014).
Аарон Бертран