Estamos usando o SQL Server 2005. De vez em quando, nosso servidor de e-mail fica inativo e, quando isso acontece, assim que nosso código SQL tenta enviar dbmail, o Log de Banco de Dados tem um item assim:
Date 12/9/2013 07:38:05
Log Database Mail (Database Mail Log)
Log ID 327487
Process ID 5680
Mail Item ID 442779
Last Modified 12/9/2013 07:38:05
Last Modified By sa
Message
The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 2 (2013-12-09T07:38:05). Exception Message: Could not connect to mail server. (No such host is known).
)
O problema é que nossas contas de administrador são notificadas por e-mail com o erro de e-mail do banco de dados, o que cria um problema óbvio: como o servidor de e-mail está inativo, a notificação de e-mail "Erro no Database Mail" cria outra entrada de e-mail porque pode ser entregue, o que aciona outra notificação por email. Um loop infinito é criado, o que resulta em 20 a 30 entradas de log geradas a cada segundo, e quando o servidor de e-mail finalmente fica on-line, todos eles são entregues nas caixas de entrada de e-mail do administrador.
A minha pergunta é: Onde configuramos quem é notificado e como ocorre quando ocorre um erro de email no banco de dados? Como desabilitamos a notificação por email pelo Database Mail quando ocorre um erro do dbmail?
Eu examinei o Database Mail e o SQL Server Agent e não consigo encontrar nada. Existem dois operadores definidos no SQL Server Agent, mas a guia histórico dos operadores não indica que eles foram enviados por email. Não há Alertas ou Trabalhos configurados que enviem email aos operadores. O Database Mail simplesmente envia um e-mail para todos os operadores se ocorrer um erro?
Obrigado pela sua ajuda!
Tags email sql-server-2005