在 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 都非常感谢。
您是否在 MSDB 上启动了服务代理?您需要服务代理才能处理邮件队列。
在Stackoverflow上阅读这篇文章。另一个可以帮助您的链接是如何对 sql 中的队列进行故障排除。您还可以使用此链接在 MSDB 上启动和运行您的服务代理。
希望这些链接可以帮助您。
感谢您的所有评论。我找到了问题的根源。
Sql Agent >> Properties >> Alert System (tab) >> Enable Mail profile (check) 并选择合适的邮件系统并添加邮件配置文件。
这解决了这个问题。
当我查看 Sql 代理日志时,它的日志条目为“无法启动邮件会话(原因:未定义邮件配置文件)”。使用这个关键字,我能够在线搜索并获得一些帮助。
归档时间: |
|
查看次数: |
448 次 |
最近记录: |