Sql server 如何让dbmail处理SQL Server 2005队列中的项目?

Sql server 如何让dbmail处理SQL Server 2005队列中的项目?,sql-server,Sql Server,当我使用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' 此存储过程返回已启动的: msdb.dbo.sysmail_help

当我使用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'
此存储过程返回已启动的:

msdb.dbo.sysmail_help_status_sp
已设置了相应的帐户和配置文件,邮件一度正常运行。msdb.dbo.sysmail事件日志中没有错误

你试过了吗

sysmail_stop_sp
然后


可能有很多东西。例如,我看到(是的,实际上看到)这种情况发生在:

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

所以,在它再次发生之前,我不会因为它而惊慌失措。

我也有同样的问题,这就是我解决问题的方法

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

重新启动代理,然后它就会工作

希望这有帮助, _乌兰巴托

sysmail_start_sp