09 июня 2022
2 минуты

Позаботьтесь о журналах SQL-сервера и SQL-агента

Настоящие администраторы баз данных оптимизируют всё, что встретится им на пути! SQL-запросы, настройки СУБД, дисковую подсистему… И даже журнал ошибок поддаётся (и нуждается) в оптимизации.

SQL Server ведёт журнал ошибок, сохраняя его в файле. При каждом перезапуске сервер создаёт новый файл для журнала, а старый переименовывает. Вот так выглядит этот журнал в студии и в проводнике:

Знакомая картина?

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

Если вы попытаетесь открыть большой файл журнала в студии, то вам придётся довольно долго ждать, пока он весь загрузится. А если в процессе ожидания вы заглянете на график расхода памяти в диспетчере задач, то увидите, что память расходуется пугающими темпами!

Но не будем же мы ради инициализации нового файла журнала перезапускать SQL-сервер?! Конечно, это делать не обязательно, потому что имеется специальная хранимая процедура sp_Cycle_ErrorLog:

Она переключает ведение журнала на новый файл. Для журнала SQL-агента имеется аналогичная процедура sp_Cycle_Agent_ErrorLog:

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


Бесплатный
Комментарии
avatar
Здесь будут комментарии к публикации