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

时间:2008-08-12 15:58:31

标签: 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'

此存储过程返回STARTED:

msdb.dbo.sysmail_help_status_sp

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

3 个答案:

答案 0 :(得分:2)

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

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

重新启动代理,从那时起它就可以运行了。

希望这有帮助, _Ub

答案 1 :(得分:2)

你试过吗

sysmail_stop_sp

然后

sysmail_start_sp

答案 2 :(得分:1)

可能是大事。例如,我见过(是的,实际上看到过)这种情况发生在:

之后
  • 域控制器重启
  • Exchange服务器重启
  • 路由器停机
  • 服务帐户更改
  • SQL Server磁盘空间不足

所以,直到它再次发生,我不会为它而烦恼。