none
Erro no database mail - enviar alertas aos operadores RRS feed

  • Pergunta

  • Pessoal bom dia! Tenho dois perfis configurados no meu database mail, quando clico com botão direito e peço um teste de envio recebo com sucesso! Mas os jobs que estão configurados para enviar alertas aos operadores não enviam de jeito nenhum! No log tenho: SELECT * FROM msdb.dbo.sysmail_event_log 1) Exception Information =================== Exception Type: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException Message: Could not retrieve item from the queue. Reason: the list of accounts which could send this mail is empty (probably due to the use of invalid profile). Data: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Controller.ICommand CreateSendMailCommand(Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DBSession) HelpLink: NULL Source: DatabaseMailEngine StackTrace Information =================== at Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandFactory.CreateSendMailCommand(DBSession dbSession) at Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandRunner.Run(DBSession db) at Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.MailOperation(Object o) Obs.: Coloquei um passo adicional nos jobs excutando: exec msdb.dbo.sp_send_dbmail em caso de erro para me avisar, e assime esta funcionando normalmente. Ou seja tenho que coloca na mão mais um passo para o job, não esta funcionando de forma automática e via interface dos alertas. Alguma ideia?
    sexta-feira, 5 de fevereiro de 2010 13:51

Respostas

  • Colegas,

    Tive problema parecido: meu sistema estava enviando emails corretamente mas, apos restaurar um database, parou de funcionar e mesmo trocando o database vinculado ao envio da mensagem nao funcionava e ao verificar o log mostrava que era problema com o destinatario da mensagem.

    Apos quase dois dias procurando solucao, verificando servicos e permissoes, resolvi deletar o profile e criar um novo e dai voltou a funcionar.

    Abracos

     

    quinta-feira, 15 de abril de 2010 15:13

Todas as Respostas

  • Olá.

    Você configurou o envio de alertas dentro do SQL Server Agent?

    []'s

    sexta-feira, 5 de fevereiro de 2010 14:04
  • Sim esta configurado ! Inclusive os jobs rodam e no histórico mostra que executou com Sucesso e mostra falha no envio do alerta mas diz só isso.
    sexta-feira, 5 de fevereiro de 2010 14:35
  • Assim que você configura o SQL Server Agent é necessário reinicia-lo. Isso foi feito também?
    sexta-feira, 5 de fevereiro de 2010 15:56
  • Acabei de fazer isso (reiniciar o agente), mas não adiantou nao!

    Rodei um job qualquer para testar (job configurado com alerta) se eu faço: SELECT * FROM msdb.dbo.sysmail_event_log order by log_date desc

    Tenho o seguinte:

    information 2010-02-05 08:00:01.680 DatabaseMail process is started information 2010-02-05 07:12:12.607 DatabaseMail process is shutting down information 2010-02-05 07:02:11.760 DatabaseMail process is started information 2010-02-05 06:13:06.837 DatabaseMail process is shutting down information 2010-02-05 06:03:06.027 DatabaseMail process is started information 2010-02-05 02:02:50.230 DatabaseMail process is shutting down

    E no historico do job:

    Data,Origem,Gravidade,ID da Etapa,Servidor,Nome do Trabalho,Nome da Etapa,Notificações,Mensagem,Duração,Gravidade do Sql,ID da Mensagem Sql,Operador Notificado por Email,Operador Notificado por Envio de Rede,Operador Notificado por Pager,Repetições Tentadas 02/05/2010 14:05:12,* Teste de envio de mensagem,Êxito,0,ServidorDB,* Teste de envio de mensagem,(Job outcome),,The job succeeded. The Job was invoked by User DOMINIONET\UsuarioDominio. The last step to run was step 1 (select). NOTE: Failed to notify 'operador' via email.,00:00:01,0,0,,,,0 02/05/2010 14:05:13,* Teste de envio de mensagem,Êxito,1,ServidorDB,* Teste de envio de mensagem,select,,Executed as user: DOMINIONET\UsuarioDeRedeAdministradorSQL. The step succeeded.,00:00:00,0,0,,,,0 02/05/2010 11:04:03,* Teste de envio de mensagem,Êxito,0,ServidorDB,* Teste de envio de mensagem,(Job outcome),,The job succeeded. The Job was invoked by User DOMINIONET\UsuarioDominio. The last step to run was step 1 (select). NOTE: Failed to notify 'operador' via email.,00:00:01,0,0,,,,0 02/05/2010 11:04:03,* Teste de envio de mensagem,Êxito,1,ServidorDB,* Teste de envio de mensagem,select,,Executed as user: DOMINIONET\UsuarioDeRedeAdministradorSQL. The step succeeded.,00:00:01,0,0,,,,0 02/05/2010 11:01:01,* Teste de envio de mensagem,Êxito,0,ServidorDB,* Teste de envio de mensagem,(Job outcome),,The job succeeded. The Job was invoked by User DOMINIONET\UsuarioDominio. The last step to run was step 1 (select). NOTE: Failed to notify 'operador' via email.,00:00:01,0,0,,,,0 02/05/2010 11:01:02,* Teste de envio de mensagem,Êxito,1,ServidorDB,* Teste de envio de mensagem,select,,Executed as user: DOMINIONET\UsuarioDeRedeAdministradorSQL. The step succeeded.,00:00:00,0,0,,,,0 02/05/2010 09:56:44,* Teste de envio de mensagem,Êxito,0,ServidorDB,* Teste de envio de mensagem,(Job outcome),,The job succeeded. The Job was invoked by User DOMINIONET\UsuarioDominio. The last step to run was step 1 (select). NOTE: Failed to notify 'operador' via email.,00:00:01,0,0,,,,0 02/05/2010 09:56:44,* Teste de envio de mensagem,Êxito,1,ServidorDB,* Teste de envio de mensagem,select,,Executed as user: DOMINIONET\UsuarioDeRedeAdministradorSQL. The step succeeded.,00:00:00,0,0,,,,0 02/05/2010 09:54:23,* Teste de envio de mensagem,Êxito,0,ServidorDB,* Teste de envio de mensagem,(Job outcome),,The job succeeded. The Job was invoked by User DOMINIONET\UsuarioDominio. The last step to run was step 1 (select). NOTE: Failed to notify 'operador' via email.,00:00:01,0,0,,,,0 02/05/2010 09:54:24,* Teste de envio de mensagem,Êxito,1,ServidorDB,* Teste de envio de mensagem,select,,Executed as user: DOMINIONET\UsuarioDeRedeAdministradorSQL. The step succeeded.,00:00:00,0,0,,,,0
    • Editado Ygo Rabelo sexta-feira, 5 de fevereiro de 2010 16:21 estatva sem formatação
    sexta-feira, 5 de fevereiro de 2010 16:12
  • Rabelo,
    Veja estes ponto:
    veja o usuário que executa o agent--> Serviço Windows OK!!!
    Associe este usuário ao banco TempDB e de coloque ele Role Members ao DataBaseMailUseRole.
    Reinicie o Serviço Agent
    E veja se funcionou.
    Marcos
    sexta-feira, 5 de fevereiro de 2010 21:30
  • Rabelo,

    Concordo com o Marquinhos, acredito que a conta de usuário que esta sendo utilizada esta conflitando com suas permissões de acesso para executar os alertas.


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    domingo, 7 de fevereiro de 2010 18:55
    Moderador
  • Colegas,

    Tive problema parecido: meu sistema estava enviando emails corretamente mas, apos restaurar um database, parou de funcionar e mesmo trocando o database vinculado ao envio da mensagem nao funcionava e ao verificar o log mostrava que era problema com o destinatario da mensagem.

    Apos quase dois dias procurando solucao, verificando servicos e permissoes, resolvi deletar o profile e criar um novo e dai voltou a funcionar.

    Abracos

     

    quinta-feira, 15 de abril de 2010 15:13