4

当我使用 sp_send_dbmail 存储过程时,我收到一条消息说我的邮件已排队。但是,它似乎永远不会交付。如果我运行以下 SQL,我可以在队列中看到它们:

SELECT * FROM msdb..sysmail_allitems WHERE sent_status = 'unsent'

此 SQL 返回 1:

SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb'

此存储过程返回 STARTED:

msdb.dbo.sysmail_help_status_sp

已设置适当的帐户和配置文件,并且邮件在某一时刻正常运行。msdb.dbo.sysmail_event_log 中没有错误。

4

3 回答 3

2

你有没有尝试过

sysmail_stop_sp

然后

sysmail_start_sp
于 2008-08-12T20:17:14.570 回答
2

我遇到了同样的问题,这就是我能够解决的方法。

转到Sql 代理 >> 属性 >> 警报系统 >> 选中 DBMail 的启用框并添加一个配置文件。

重新启动代理,然后它就可以工作了。

希望这会有所帮助,_Ub

于 2011-05-12T14:41:12.410 回答
1

可能是一堆东西。例如,我已经看到(是的,实际看到)这种情况发生在以下情况之后:

  • 域控制器重启
  • Exchange 服务器重新启动
  • 路由器中断
  • 服务帐号更改
  • SQL Server 磁盘空间不足

所以在它再次发生之前,我不会因为它而大惊小怪。

于 2008-08-13T14:20:56.643 回答