Поделиться через


sp_readerrorlog (Transact-SQL)

Область применения: SQL Server

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_readerrorlog
    [ [ @p1 = ] p1 ]
    [ , [ @p2 = ] p2 ]
    [ , [ @p3 = ] N'p3' ]
    [ , [ @p4 = ] N'p4' ]
[ ; ]

Аргументы

[ = ] @p1 p1

Целочисленное значение журнала, которое требуется просмотреть. @p1 имеет значение int с значением по умолчанию0. Текущий журнал ошибок имеет значение 0. Предыдущий — 1 (ERRORLOG.1), один до предыдущего — 2 (ERRORLOG.2) и т. д.

[ = ] @p2 p2

Целочисленное значение для продукта, журнал которого требуется просмотреть. @p2 имеет значение int с значением по умолчаниюNULL. Используется 1 для SQL Server или 2 агент SQL Server. Если значение не указано, используется продукт SQL Server.

[ @p3 = ] N'p3'

Строковое значение строки, которую необходимо фильтровать при просмотре журнала ошибок. @p3 — nvarchar(4000) с значением по умолчаниюNULL.

[ @p4 = ] N'p4'

Строковое значение для дополнительной строки, которую необходимо отфильтровать, чтобы дополнительно уточнить поиск при просмотре журнала ошибок. @p4 — nvarchar(4000) с значением по умолчаниюNULL. Этот параметр предоставляет дополнительный фильтр для первого @p3 поиска строк.

Значения кода возврата

Нет.

Результирующий набор

Отображает содержимое запрошенного журнала ошибок. Если используются строки фильтра, отображаются только строки, соответствующие этим строкам.

Замечания

При каждом запуске SQL Server текущий журнал ошибок переименовывается ERRORLOG.1в ; ERRORLOG.1 становится, ERRORLOG.2 становится ERRORLOG.2ERRORLOG.3и т. д. sp_readerrorlog позволяет считывать любой из этих файлов журнала ошибок до тех пор, пока файлы существуют.

Разрешения

Разрешения sp_readerrorlog на выполнение ограничены членами предопределенных ролей сервера sysadmin .

Примеры

В следующем примере выполняется цикл журнала ошибок SQL Server.

А. Чтение текущего журнала ошибок SQL Server

EXEC sp_readerrorlog;

B. Отображение предыдущего журнала ошибок агент SQL Server

EXEC sp_readerrorlog 1, 2;

C. Поиск сообщений журнала, указывающих, что база данных запускается

EXEC sp_readerrorlog 0, 1, 'database', 'start';