Как поместить логи sql в журнал application
Перейти к содержимому

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

  • автор:

Просмотр журнала приложений Windows

SQL Server настроен для использования журнала приложений Windows, каждый сеанс SQL Server записывает в этот журнал новые события. В отличие от журнала ошибок SQL Server, новый журнал приложений не создается каждый раз при запуске экземпляра SQL Server.

В этой статье рассматриваются операционные системы Windows 10 и более поздних версий.

Просмотр журнала приложений Windows

  1. На панели поиска введите средство просмотра событий, а затем выберите классическое приложение Просмотр событий.
  2. В Просмотре событий разверните папку Журналы Windows и выберите журнал событий Приложение.
  3. События SQL Server определяются записью MSSQLSERVER (именованные экземпляры определяются с помощью MSSQL$instance_name>) в столбце Source. События агента SQL Server определяются записью SQLSERVERAGENT (для именованных экземпляров SQL Server, события агента SQL Server определяются с помощью SQLAgent$> События службы Microsoft Search идентифицируются записью Microsoft Search.
  4. Чтобы просмотреть журнал с другого компьютера, щелкните правой кнопкой мыши элемент Просмотр событий (локальных). Выберите пункт Подключение к другому компьютеру и заполните поля в диалоговом окне Выбор компьютера.
  5. При необходимости, чтобы отобразить только события SQL Server, в меню «Вид » выберите «Фильтр«. В списке Источник событий выберите MSSQLSERVER. Чтобы просмотреть только события агента SQL Server, вместо этого выберите SQLSERVERAGENT в списке источников событий.
  6. Чтобы просмотреть дополнительные сведения о событии, дважды щелкните событие.

Просмотр журнала приложений Windows

Если настройками SQL Server предусмотрено использование журнала приложений Microsoft Windows, каждый сеанс SQL Server записывает новые события в этот журнал. В отличие от журнала ошибок SQL Server , новый журнал приложений не создается заново каждый раз при запуске экземпляра SQL Server.

Просмотр и управление журналом приложений Windows осуществляется с помощью средства просмотра событий Windows или средства просмотра журналов в среде SQL Server Management Studio.

С помощью средства просмотра событий можно просмотреть три журнала.

Тип журнала Windows Описание
Системный журнал Регистрирует события, записанные компонентами операционной системы Windows. Например, отказ загрузки драйвера или другого системного компонента при запуске записывается в системный журнал.
Журнал безопасности Регистрирует события безопасности, например неудавшиеся попытки входа в систему. Это помогает отследить изменения в системе безопасности и идентифицировать возможные «дыры». Например, попытка войти в систему регистрируется в журнале безопасности в зависимости от параметров аудита в диспетчере пользователей.

Дополнительные сведения о средстве просмотра событий, управлении журналом приложений и данных, которые он представляет, см. в документации Windows.

Просмотр журнала приложений Windows

SQL-Ex blog

Как эффективно управлять журналами SQL Server

Добавил Sergey Moiseenko on Суббота, 30 апреля. 2022

В статье дается обзор журналов SQL Server для управления и устранения неполадок на сервере.

Введение

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

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

Журналы SQL Server известны как SQL Server Error logs. Журналы ошибок содержат информационные сообщения, предупреждения и сообщения о критичных ошибках. Вы можете просматривать некоторые из этих журналов также в просмотрщике событий Windows. Однако рекомендуется использовать журналы SQL Server для получения подробной информации.

Журналы SQL Server и их местонахождение

Если вы подключены к экземпляру SQL Server в SSMS, перейдите к Management -> SQL Server Logs. Как показано ниже, имеется текущий журнал и шесть архивных журналов (Archive#1 — Archive #6).

Метод 1: Использование расширенной процедуры xp_readerrorlog

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

USE master 
GO
xp_readerrorlog 0, 1, N'Logging SQL Server messages', NULL, NULL,NULL
GO
  1. Файл журнала ошибок: значение 0 для текущего, 1 для Archive#1, 2 для Archive #2.
  2. Тип файла журнала: значение 0 для журнала ошибок SQL Server, 1 для агента SQL Server.
  3. Строка поиска 1
  4. Строка поиска 2
  5. Время от
  6. Время до
  7. Сортировка результатов — по возрастанию (N’ASC) или по убыванию (N’Desc)

Метод 2: Использование функции SERVERPROPERTY()

Мы можем использовать в запросе функцию SERVERPROPERTY, и также определить местонахождение SQL Server ERRORLOG.

SELECT SERVERPROPERTY('ErrorLogFileName') AS 'Error log location'

Метод 3: использование менеджера конфигурации SQL Server

Откройте SQL Server Configuration Manager и посмотрите параметры запуска. Местоположение файлов журнала указывается с помощью переключателя -e.

Вы можете развернуть каталог журналов и просмотреть текущий или архивные файлы журнала. Эти журналы ошибок можно открыть в текстовом редакторе, таком как Notepad или Visual Studio Code.

Конфигурирование числа файлов журнала SQL Server и их размеров

По умолчанию SQL Server поддерживает текущий и 6 архивных файлов журнала. Чтобы уточнить значение, выполните щелчок правой кнопкой на папке SQL Server Logs в SSMS и выберите Configure.

  1. При перезапуске службы SQL.
  2. При перезагрузке журнала ошибок вручную.

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

Для изменения значения по умолчанию числа файлов журнала ошибок поставьте галочку в поле с названием “Limit the number of error log files before they are recycled”. Например, следующий скриншот показывает максимальное число файлов журнала ошибок, равное 30.

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

USE [master] 
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 30
GO

Замечание. Следует перезапустить службу SQL, чтобы изменения вступили в силу.

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

Вы можете задать размер в Кб для ограничения размера журнала ошибок в соответствии с вашими требованиями. Например, здесь мы ограничиваем размер файла журнала в 1Гб.

Эквивалентный скрипт T-SQL обновляет ErrorLogSizeInKb в регистре SQL Server.

USE [master] 
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'ErrorLogSizeInKb', REG_DWORD, 1048576
GO

Перезагрузка журналов ошибок вручную

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

EXEC sp_cycle_errorlog 
GO

Файл журнала SQL Server Agent

Агент SQL Server также имеет отдельный журнал ошибок, подобный журналам SQL Server. Вы можете обнаружить его в папке SQL Server Agent – > Error logs.

Щелкните правой кнопкой на папке Error log и выберите команду Configure. Это даст местоположение журнала ошибок агента и уровень журнала агента.

Файл журнала агента имеет расширение *.OUT и хранится в папке log при конфигурации по умолчанию. Например, в моей системе файл журнала находится здесь: C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Log\SQLAGENT.OUT.

По умолчанию в файл журнала записываются ошибки и предупреждения; однако мы можем включить информационные сообщения:

  • Предупреждения: Эти сообщения предоставляют информацию о потенциальных проблемах. Например, “Job X was deleted while it was running” (задание Х было удалено во время выполнения).
  • Сообщение об ошибках: оно дает информацию, которая требует немедленного вмешательства администратора баз данных, например, невозможность почтового сеанса.

Чтобы добавить информационное сообщение, поставьте галочку в поле Information.

SQL Server использует до 9 файлов журнала агента SQL Server. Имя текущего файла SQLAGENT.OUT. Файл с расширением .1 указывает на первый архивный журнал ошибок агента. Аналогично расширение .9 указывает на 9-й (самый старый) архив журнала ошибок.

Файлы журнала агента SQL Server перегружаются всякий раз, когда перезапускается SQL Server Agent. Для того, чтобы сделать это вручную, выполните щелчок правой кнопкой на папке Error Logs folder и выберите Recycle.

Или используйте хранимую процедуру sp_cycle_agent_errorlog для перезагрузки файлов журнала агента SQL Server вручную.

USE msdb ; 
GO
EXEC dbo.sp_cycle_agent_errorlog ;
GO
  • Создается новый текущий журнал ошибок агента.
  • Текущий журнал ошибок SQLAgent.out преобразуется в SQLAgent.1.
  • SQLAgent.1 преобразуется в SQLAgent.2

Заключение

Файл журнала ошибок SQL Server содержит информацию, предупреждения и критические сообщения экземпляра. Это полезно для решения проблем, аудита входа (успешно, отказ). Администратор базы данных может сконфигурировать требуемое число архивных журналов ошибок и каталогов для хранения этих файлов.
Вы должны регулярно просматривать записи в журнале в качестве подготовки ежедневных или еженедельных отчетов о состоянии сервера.

Обратные ссылки

Нет обратных ссылок

Комментарии

Показывать комментарии Как список | Древовидной структурой

Автор не разрешил комментировать эту запись

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

Log Server версии 7.0 — это web приложение на базе Internet Information Services . Поддерживается 3 типа хранилищ для логов :

Необходимые пакеты Indeed.LogServer-v7.0.0.x64.ru-ru

  • IndeedEA.Server.EventLog-v7.0.1.x64.ru-ru

Порядок установки:

  1. Установить .NET Framework 4.5.2 .
  2. Установить IIS и необходимые компоненты. Рекомендуется использовать скрипт для автоматической установки и настройки IIS: Indeed Enterprise Management Console\7.0.0\Misc\Server2008\Indeed.EMC.IIS.Install.MSServer2008.ps1 — Для 2008 сервера. Indeed Enterprise Management Console\7.0.0\Misc\Server2012\Indeed.EMC.IIS.Install.MSServer2012.ps1 — Для 2012 сервера.
  3. Запустить мастер установки Indeed.LogServer-v7.0.0.x64.ru-ru.msi ( Indeed Log Server\\Indeed.LogServer-v7.0.0.x64.ru-ru.msi ).
  4. Запустить мастер установки IndeedEA.Server.EventLog-v7.0.1.x64.ru-ru.msi ( Indeed Log Server\\IndeedEA.Server.EventLog-v7.0.1.x64.ru-ru.msi ). Этот пакет установит файл схемы, который создаст необходимую структуру журнала для ведения логов продуктов Indeed-id.

Создание базы данных и пользователя.

  1. Откройте SQL Server Management Studio.
  2. Подключитесь к SQL серверу указав данные для подключения.
  3. Создайте новую базу данных для хранения лог файлов.
    1. Разверните компоненты вашего SQL сервера.
    2. Нажмите правой кнопкой мыши “Databases”.
    3. Выберите “New Database”.
  4. Введите имя для новой базы данных и нажмите “Ok”.

Создание учетной записи для работы с базой данных.

  1. Разверните узел “Security” , нажмите правой кнопкой мыши по “Logins” , выберите “New Login. ” .
  2. На странице “General” выполните:
    1. Выберите “SQL Server authentication”.
    2. Введите имя пользователя и пароль.
    3. Отключите параметр “User must change password at the next login”.
    4. Выберите ранее созданную базу данных.
  3. На странице“Server Roles” добавьте роль “sysadmin” . Данная роль дает полные права пользователю на сервере.
  4. Нажмите “Ok”.

Редактирование конфигурационного файла.

  1. Открыть файл sampleDb.config. C:\inetpub\wwwroot\ils\targetConfigs
  2. Указать данные для подключения к базе данных в теге connectionString. Пример строки для данной инструкции:

    Data Source=EASERVER\EASERVER;Initial Catalog=Indeed_Log;User
  3. Открыть файл clientApps.config . C:\inetpub\wwwroot\ils\clientApps.config
  4. Указать Id выбранного способа хранения логов в тегах TargetId и ReadTargetId, для MS SQL это — sampleDb.

Пример отображения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *