Трассировка событий сервера
Трассировка событий сервера - это пункт в контекстном меню (правая кнопка мыши) на имени СУБД либо на имени базы данных в режиме "Управления базами данных".
Данный режим предназначен для записи (протоколирования) событий базы данных при осуществлении каких-либо действий/операций в комплексе, что позволяет проанализировать работу серверной части программы. Обычно применяется для отлавливания причин возникновения проблем с функционированием программного комплекса: ошибки, замедление работы и т.п.
Целью (результатом) применения трассировщика является текстовый файл протокола событий сервера. Этот пункт меню доступен пользователю с правами системного администратора комплекса (в Postgre это dbo).
Параметры трассировщика:
- Список событий - только для MS SQL: задает набор регистрируемых событий выполнения команд:
- "Анализ ошибок" - набор событий для выявления причин возникновения ошибок в программе,
- "Анализ производительности" - набор событий для выявления причин низкой производительности (долгое выполнение каких-либо операций).
- Логины - логин, от имени которого будет выполняться проблемная операция в программе.
- Сохранять события, длительность которых более, мс - задается в миллисекундах, и отсекает логирование процессов с меньшей длительностю для уменьшения незначащей информации в файле трассировки. Рекомендуемое значение: в случае отлавливания ошибок 1 000, в случае медленного выполнения 10 000.
- Сохранить в файле на сервере - только для MS SQL: имя результирующего текстового файла трассировки с путем относительно сервера СУБД. Путь рекомендуется выбрать по кнопке [...]. Например, задание пути в виде "C:\temp\trace.txt" приведет к созданию файла трассировки с именем trace.txt на диске C:\ сервера СУБД, а не на компьютере пользователя.
- Время работы (час:мин) - ограничивает время работы трассировщика: трассировщик прекратить логирование процессов по окончании указанного времени.
- Для MS SQL достаточно максимум 20-30 минут, т.к. даже если проблемная операция длится дольше чем ограничение по времени трассировщика, данных об операции в логе будет достаточно.
- Для Postgre время должно превышать длительность проблемной операции, т.к. если трассировщик закончит работу раньше чем завершиться проблемная операция, то в логе СУБД будет отсутствовать какая-либо информация о процессах.
Результаты трассировщика
Результатом является текстовый файл с логами работы СУБД. Получение файл лога по завершении трассировки:
- меню "Сервис" - "Управление базами данных" - правая мышь на имени СУБД - пункт контекстного меню "Журнал ошибок" - в открывшемся окне кнопка "Сохранить";
-
либо напрямую скопировать файл лога СУБД:
- для MS SQL: по пути указанному в поле "Сохранить в файл на сервере" в окне "Трассировка событий сервера".
- для Postgre: из папки log где установлена СУБД :
- Postgre на Linux по пути: /var/lib/<имя_postgre>/data/log (пример: /var/lib/pgsql-15.8_5434/data/log/ ),
- Postgre на Windows по пути: <папка_Postgre>\data\log и ...\data\Current_logfiles (пример: С:\Program Files\PostgreSQL\15\data\log );
При возникновении ошибки и включенном трассировщике будет выдан запрос на досрочное прекращение работы трассировщика (рекомендуется прекратить работу трассировщика).
Для СУБД MS SQL данный пункт меню является аналогом (с упрощенным интерфейсом) утилиты Profiler.