SQL Server sp_readErrorlog

SQL Server sp_readErrorlog

Os registros se referem a uma série de registros criados por um aplicativo para descrever os detalhes dos eventos e ações executadas pelo aplicativo. Quase todos os aplicativos implementam um mecanismo de registro para ajudar os desenvolvedores e usuários a solucionar os erros que podem surgir.

Como você pode imaginar, o SQL Server nos fornece logs que nos permitem seguir e solucionar problemas dos eventos que ocorrem no servidor. Em alguns casos, você pode usar os logs do SQL Server para se recuperar de uma falha no banco de dados.

Este tutorial discute como você pode usar o procedimento armazenado SP_ReaderRorLog para ler os logs criados pelo SQL Server e SQL Server Agent.

SP_READERERRORLOGS () Sintaxe do procedimento

A seguir, mostra a sintaxe do procedimento armazenado SP_ReaderRorLog no servidor SQL:

sp_readErrorlog
@p1 int = 0,
@p2 int = null,
@p3 nvarchar (4000) = nulo,
@p4 nvarchar (4000) = nulo

Argumentos aceitos

O procedimento aceita os seguintes argumentos, conforme definido na sintaxe dada:

  1. @p1 - Isso define o log que você deseja ver como um valor inteiro. O log de erros atual tem um valor de 0, aquele antes disso tem um valor de 1, o segundo antes com um valor de 2, etc.
  2. @p2 - O parâmetro P2 permite definir o produto cujos logs são o que você deseja visualizar como um valor inteiro com 1 para o servidor SQL e 2 para agente do servidor SQL. Por padrão, o procedimento retorna os logs do servidor SQL.
  3. @p3 - O parâmetro p3 permite definir a string na qual deseja filtrar ao buscar os logs. Por padrão, esse valor é nulo.
  4. @P4 - Finalmente, o parâmetro P4 permite definir uma segunda sequência para pesquisar ao filtrar os logs. Isso é útil quando você precisa refinar seu padrão de pesquisa.

A função retorna o conteúdo do log de erros, correspondendo ao padrão específico.

O SQL Server cria um log de erros para todas as instâncias em que o servidor é iniciado. Os logs de erro são nomeados ErrorLog1, ErrorLog2, ErrorLog3, etc.

Exemplo de uso:

Os exemplos a seguir mostram como podemos usar o procedimento armazenado SP_ReaderRorLog para ler os logs disponíveis.

Usando o sp_readErrorlog () para ler o log de erros atual

O exemplo a seguir usa o sp_readErrorLog () para ler o log de erros atual:

EXEC sp_readErrorlog;

Sem parâmetros, a consulta anterior retorna o log de erros atual para o servidor SQL.

Um exemplo de saída é o seguinte:

Usando o sp_readErrorlog () para ler o erro em um índice específico

Para ler o ErrorLog3 para o SQL Server, podemos executar a consulta da seguinte maneira:

EXEC SP_ReaderRorLog 3, 1;

Nesse caso, o procedimento deve retornar o conteúdo do arquivo ErrorLog3 para o servidor SQL.

Encontre o log com string específica

Para filtrar os logs com uma string específica, podemos executar a seguinte consulta:

EXEC SP_ReaderRorLog 5, 1, 'Iniciando', 'Master';

Nesse caso, a consulta anterior deve retornar os logs quando o banco de dados mestre iniciar. Um exemplo de saída é como mostrado no seguinte:

Logdate | ProcessInfo | Texto |
-----------------------+-----------+------------------------------+
2022-10-17 14:44:28.550 | SPID9S | Iniciando o banco de dados 'Master'.|

Conclusão

Neste artigo, você aprendeu a usar o procedimento armazenado do SQL Server SP_ReaderRorLog para ler os logs de erros no servidor SQL.

Obrigado pela leitura!