O procedimento armazenado sp_add_alert pode reagir a diferentes mensagens do sistema e executar um trabalho em resposta. Ele também pode notificar uma pessoa com o texto da mensagem por e-mail, pager ou net send.
Mas como passo a sysmessage
mensagem (correspondente ao evento que gerou o alerta) não para uma pessoa, mas para o job que é executado em resposta ao alerta?
Vamos considerar esta mensagem:
select [description] from sysmessages where msglangid = 1033 and error = 829
Isso renderá:
ID do banco de dados %d, a página %S_PGID está marcada como RestorePending, o que pode indicar corrupção de disco. Para se recuperar desse estado, execute uma restauração.
Eu gostaria de receber esta mensagem no trabalho, para que o trabalho saiba o que %d e %S_PGID causaram um problema.
Este artigo dá a resposta. Basicamente, a mensagem é acessÃvel usando tokens e macros do SQL Server Agent .
Em particular, esta etapa do trabalho que está chamando um procedimento armazenado funcionou bem para mim:
Observe que eu tive que
De acordo com o artigo vinculado. Além disso, tive que reiniciar o SQL Server Agent para que essa configuração entrasse em vigor - não funcionou até eu reiniciá-lo, no entanto, o artigo não menciona a reinicialização.