sys.sp_readerrorlog (Transact-SQL)

Aplica-se a: SQL Server

Permite-lhe ler o conteúdo do ficheiro de erro do SQL Server ou SQL Server Agent e filtrar por palavras-chave.

Transact-SQL convenções de sintaxe

Syntax

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

Arguments

[ @p1 = ] p1

O valor inteiro do log que queres ver. @p1 é int, com um padrão de 0. O registo de erro atual tem um valor de 0. O anterior é 1 (ERRORLOG.1), o anterior é 2 (ERRORLOG.2), e assim sucessivamente.

[ @p2 = ] p2

O valor inteiro do produto cujo log quer ver. @p2 é int, com um padrão de NULL. 1 Use para SQL Server ou 2 SQL Server Agent. Se não for especificado um valor, utiliza-se o produto SQL Server.

[ @p3 = ] N'p3'

O valor da string para uma string que queres filtrar ao visualizar o registo de erros. @p3 é nvarchar(4000), com um padrão de NULL.

[ @p4 = ] N'p4'

O valor da string para uma string extra que queres filtrar para refinar ainda mais a pesquisa ao visualizar o registo de erros. @p4 é nvarchar(4000), com um padrão de NULL. Este parâmetro fornece um filtro extra para a primeira pesquisa de cadeias @p3.

Valores de código de retorno

None.

Conjunto de resultados

Mostra o conteúdo do registo de erros solicitado. Se forem usadas strings de filtro, apenas as linhas que correspondem a essas strings são exibidas.

Remarks

Sempre que o SQL Server é iniciado, o registo de erros atual é renomeado para ERRORLOG.1; ERRORLOG.1 torna-se ERRORLOG.2, ERRORLOG.2 torna-se ERRORLOG.3, e assim sucessivamente. sp_readerrorlog Permite-lhe ler qualquer um destes ficheiros de registo de erro desde que existam.

Permissions

O SQL Server 2019 (15.x) e versões anteriores exigem VIEW Permissão SERVER STATE no servidor.

O SQL Server 2022 (16.x) e versões posteriores exigem VIEW QUALQUER PERMISSÃO DE REGISTO DE ERROS no servidor.

Examples

O exemplo seguinte cicla o registo de erros do SQL Server.

A. Leia o registo de erros atual do SQL Server

EXECUTE sp_readerrorlog;

B. Mostrar o registo de erros anterior do SQL Server Agent

EXECUTE sp_readerrorlog 1, 2;

C. Encontre mensagens de registo que indiquem que uma base de dados está a ser iniciada

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