Neste post vamos ver como gravar um “eventlog” através do Sql Server. É muito simples, devemos executar a procedure de sistema chamada “xp_logevent”, ela possui 3 parâmetros:
error_number: Este parâmetro é obrigatório. É utilizado para definir um número de erro, que deve iniciar de 50001 até 2147483647. Os números de erro de 1 há 49999 são utilizados para mensagem de sistema. Para visualizar as mensagens de erro do sistema execute (deixei as consultas com “TOP”, porque são muitos registros):

SELECT TOP 1000 * FROM sys.messages;
SELECT TOP 1000 * FROM sys.sysmessages;

message: Este parâmetro é utilizado para definir a mensagem do “eventlog”, a mensagem deve ter no máximo 2048 caracteres. Também é obrigatório.

severity: Este parâmetro define o nível de severidade do “eventlog”, não é obrigatório, porem o padrão é “informational” (também pode ser utilizado: WARNING ou ERROR). Esse parâmetro aceita um número correspondente a essa lista https://technet.microsoft.com/pt-br/library/aa937483(v=sql.80).aspx.

Vamos executar a procedure:

EXEC xp_logevent @error_number = 10000, @message = 'Mensagem aqui', @severity = informational;

Depois de executar, podemos ver essa informação no eventlog do Sql Server, ou no gerenciador de eventos do windows. Para o primeiro caso, vá em: “Object Explorer”, expanda “Management”, expanda “SQL Server Logs” e por último clique com o botão direito e vá em “View SQL Server Log”. Se preferir ver os dados via T-SQL, execute a procedure de sistema “xp_ReadErrorLog”.

EXEC xp_readErrorLog;

E para visualizar no windows, entre no “executar do windows” e informe com o comando “eventvwr”. Em “Logs do windows”, você verá o “eventlog” que criou.

Espero ter ajudado!
Até a próxima!