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.3
e 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';