Filtrar em todos os errorlogs do SQL Server
Filtrar em todos os errorlogs do SQL Server

Veja como Filtrar em todos os errorlogs do SQL Server. 

Filtrar em todos os errorlogs do SQL Server de uma forma mais prática usando T-SQL é mais simples do que imagina. Todos nós sabemos que as procedures xp_readerrorlog and sp_readerrorlog são muito úteis para buscar essas informações nos arquivos de log do SQL Server certo? Porém essas procedures permitem que busquemos informações em apenas um arquivo. 

O que fazer se precisamos buscar em vários arquivos ou em todos os errrorlogs e agent logs do SQL Server de uma única vez? 

Exatamente é o que essa procedure que vou colocar abaixo faz. Veja a seguir 

 

 
USE master
GO

CREATE PROCEDURE dbo.uspFiltrarEmTodosErrorLogs (@TipoDeLog INT = 1, @Filtro NVARCHAR (4000) = '')
AS
BEGIN
   -- Tabela para listar todos os logs
   DECLARE @ListaDosLogs TABLE (LogNumber INT, StartDate DATETIME, SizeInBytes INT)
   -- Colocar os resultados na tabela
   DECLARE @Logs TABLE (LogDate DATETIME, 
                              ProcessInfo NVARCHAR (4000), 
                              Informacao NVARCHAR (4000))
 
   -- Guardando os resultados
   INSERT INTO @ListaDosLogs 
   EXEC xp_enumerrorlogs @TipoDeLog
 
   -- Iterar em todos os logs e coletar todas as linhas de log
   DECLARE @idx INT = 0
   WHILE @idx <= (SELECT MAX (LogNumber) FROM @ListaDosLogs)
   BEGIN
      INSERT INTO @Logs
      EXEC xp_readerrorlog @idx -- Numero Do Log
         , @TipoDeLog -- 1=SQL Server log, 2=SQL Agent log
         , @Filtro -- Filtro
         , @Filtro
 
      SET @idx += 1
   END
   -- Retornar os resultados
   SELECT *
   FROM @Logs
   ORDER BY LogDate DESC
END
GO

Abaixo estão exemplos de execução dos scrtips:

Use master
Go
Exec dbo.uspFiltrarEmTodosErrorLogs 1,'ERROR'
Go
Exec dbo.uspFiltrarEmTodosErrorLogs 2,'ERROR'
Go

Espero que gostem, não esqueçam de compartilhar com os amigos! 

Grande abraço! 

Filtrar em todos os errorlogs do SQL Server – WM7 Consultoria SQL Server
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.
Classificado como: