Leitura de Arquivo LOG – SQL Server

Aí vai uma dica para quem precisa de executar um query ou uma procedure para ler os arquivos de Log do Sql Server.

Existem duas procedures responsáveis por ler os arquivos de log:

sp_enumerrorlogs 
sp_readerrorlog 1 

E a query:

DECLARE @TSQL  NVARCHAR(2000)
DECLARE @lC    INT

CREATE TABLE #TempLog (
	LogDate     DATETIME,
	ProcessInfo NVARCHAR(50),
	[Text] NVARCHAR(MAX)
)

CREATE TABLE #logF (
	ArchiveNumber     INT,
	LogDate           DATETIME,
	LogSize           INT
)

INSERT INTO #logF
	EXEC sp_enumerrorlogs
		SELECT @lC = MIN(ArchiveNumber) FROM #logF

	WHILE @lC IS NOT NULL
	BEGIN
		INSERT INTO #TempLog
		EXEC sp_readerrorlog @lC
		SELECT @lC = MIN(ArchiveNumber)
		FROM #logF      WHERE ArchiveNumber > @lC
	END

Logo após a execução desta query, você pode dar um Select nesta tabela temporária [TempLog].

* Para apagar esta tabela temporária, é só dar um DROP TABLE #TempLog

Alan Machado

 

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s