Habilitando notificação de mensagem 1205

Olá pessoal, férias acabando heim!! Espero que tenham descansado. Quero compartilhar com vocês uma solução interessante e simples sobre o não envio de notificação do evento de deadlock pelo database_email. Pra quem trabalha com gestão de ambiente de dados sabe que a ocorrência de deadlock gera a mensagem de erro 1205 no SQL Server. Recentemente recebi de um colega um email procurando saber porque o database_email não estava enviando as notificações de alerta de deadlocks para seu email. Inicialmente achei que o problema poderia ser na configuração database_email, no operador e em último caso, até no provedor do email dele. Verificada a configuração, e através de testes constatados que estava tudo bem configurado, iniciei uma pesquisa e encontrei um artigo bem legal de Michael K. Campbell que esclarece bem o fato e ensina como resolvermos o problema usando o comando abaixo :

EXEC master..sp_altermessage 1205, ‘WITH_LOG’, TRUE;

Mas nos perguntamos, pra que ser esse comando?  De acordo com a biblioteca da Microsoft “Altera o estado de mensagens definidas pelo usuário ou do sistema em uma instância do Mecanismo de Banco de Dados do SQL Server.” Porque devemos executá-lo para nossas notificações de mensagem 1205 possam chegar em nosso email? De acordo com a biblioteca da Microsoft “Se uma mensagem foi alterada para ser WITH_LOG, ela sempre será gravada no log de aplicativos do Windows, independentemente de como um usuário invocar o erro.”  Sendo gravada a mensagem no log do SQL Server é possível recebermos os alertas em nosso email.

Veja na figura abaixo a seleção da tabela de sistema sys.messages que mostra através da coluna is_event_logged a mensagem 1205 ativa.

Sem título

Só mais uma dica, é importante também verificar se o perfil de email está habilitado no sistema de alerta do SQL Agent, pois se essa opção não estiver habilitada as notifições de alerta não chegarão com êxito.

Bem pessoal, por hoje é só. Caso queiram conhecer um pouco mais sobre deadlock e os comandos usados é possível encontrar muitas informações na biblioteca da Microsoft e no de Michael K. Campbell nos links abaixo:

https://msdn.microsoft.com/pt-br/library/ms175094(v=sql.120).aspx https://technet.microsoft.com/pt-br/library/ms177433(v=sql.105).aspx http://sqlmag.com/blog/enabling-email-alerts-sql-server-deadlocks.

Até a próxima!

Anúncios