Sql Server 2005 中的 DBMail 疑难解答

UB0*_*B01 8 sql-server-2005

在 SQL Server 2005 机器上,我安装并正确配置了 DBMail。我可以使用“通知操作员”和 EXEC msdb.dbo.sp_send_dbmail 来排队电子邮件。

但问题是排队的邮件永远不会通过。我在查询时看到队列中有 10 封电子邮件

SELECT * FROM msdb.dbo.sysmail_unsentitems
Run Code Online (Sandbox Code Playgroud)

但是,如果我重新启动SQL Server 服务,所有邮件都会通过,并且我会在收件箱中收到电子邮件。

到目前为止,这是我能找到的唯一模式。

所以我的问题是:有没有办法对 DBmail 进行故障排除?我在 MSDN 上阅读了一些步骤,但它们没有太大帮助。任何可以提供帮助的文章的 URL 都非常感谢。

Nic*_*ico 8

您是否在 MSDB 上启动了服务代理?您需要服务代理才能处理邮件队列。

Stackoverflow上阅读这篇文章。另一个可以帮助您的链接是如何对 sql 中的队列进行故障排除。您还可以使用此链接在 MSDB 上启动和运行您的服务代理。

希望这些链接可以帮助您。


UB0*_*B01 5

感谢您的所有评论。我找到了问题的根源。

Sql Agent >> Properties >> Alert System (tab) >> Enable Mail profile (check) 并选择合适的邮件系统并添加邮件配置文件。

数据库邮件的 MSDN 链接

这解决了这个问题。

当我查看 Sql 代理日志时,它的日志条目为“无法启动邮件会话(原因:未定义邮件配置文件)”。使用这个关键字,我能够在线搜索并获得一些帮助。