Compartilhar via


sp_readerrorlog (Transact-SQL)

Aplica-se: SQL Server

Permite que você leia o conteúdo do arquivo de log de erros do SQL Server ou do SQL Server Agent e filtre por palavras-chave.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@p1 [ = ] pág. 1

O valor inteiro do log que você deseja exibir. @p1 é int, com um padrão de 0. O log de erros atual tem um valor de 0. O anterior é 1 (ERRORLOG.1), o anterior é 2 (ERRORLOG.2) e assim por diante.

@p2 [ = ] pág. 2

O valor inteiro do produto cujo log você deseja exibir. @p2 é int, com um padrão de NULL. Use 1 para SQL Server ou 2 SQL Server Agent. Se um valor não for especificado, o produto SQL Server será usado.

@p3 [ = ] N'p3'

O valor da cadeia de caracteres de uma cadeia de caracteres que você deseja filtrar ao exibir o log de erros. @p3 é nvarchar(4000), com um padrão de NULL.

@p4 [ = ] N'p4'

O valor da cadeia de caracteres de uma cadeia de caracteres extra que você deseja filtrar para refinar ainda mais a pesquisa ao exibir o log de erros. @p4 é nvarchar(4000), com um padrão de NULL. Esse parâmetro fornece um filtro extra para o primeiro @p3 de pesquisa de string.

Valores do código de retorno

Nenhum.

Conjunto de resultados

Exibe o conteúdo do log de erros solicitado. Se forem usadas cadeias de caracteres de filtro, somente as linhas que correspondem a essas cadeias de caracteres serão exibidas.

Comentários

Sempre que o SQL Server é iniciado, o log de erros atual é renomeado para ERRORLOG.1; ERRORLOG.1 torna-se ERRORLOG.2, ERRORLOG.2 torna-se ERRORLOG.3e assim por diante. sp_readerrorlog Permite que você leia qualquer um desses arquivos de log de erros, desde que os arquivos existam.

Permissões

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

O SQL Server 2022 (16.x) e versões posteriores exigem a permissão EXIBIR QUALQUER LOG DE ERROS no servidor.

Exemplos

O exemplo a seguir alterna o log de erros do SQL Server.

R. Ler o log de erros atual do SQL Server

EXECUTE sp_readerrorlog;

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

EXECUTE sp_readerrorlog 1, 2;

C. Localizar mensagens de log que indicam que um banco de dados está sendo iniciado

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