3

在一台服务器上配置数据库邮件并发送测试电子邮件后,我在队列或日志中找不到任何内容。但是,邮件 ID 会随着每次重试而不断增加。我检查了以下内容:

  • 我是系统管理员,所以我有权发送邮件
  • EXEC msdb.dbo.sysmail_help_status_sp;报告STARTED
  • 队列中没有记录:SELECT sent_account_id, sent_date FROM msdb.dbo.sysmail_sentitems;
  • 事件日志中没有记录:SELECT * FROM msdb.dbo.sysmail_event_log;
  • 服务代理已启用。这将返回“1”:SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb';

我已经在其他 4 个实例上成功配置了这个,这只是让我感到悲伤的一个。任何其他指针将不胜感激。

4

1 回答 1

1

看起来这个问题与我在此实例上运行的 sql 版本中的错误有关,如下所述: https: //support.microsoft.com/en-us/help/3186435/fix-sql-server-2016-数据库邮件不能在计算机上工作

安装 CU2 将修复它:

注意此问题还会影响运行 SQL Server 2016 SP1 CU1 的实例。出现此问题的原因是 SQL Server 2016 SP1 CU1 设置中的错误。SQL Server 2016 SP1 CU1 的安装程序会删除配置文件 DatabaseMail.exe.config 而不用新的替换它。这会导致数据库邮件在没有 .Net framework 3.5 SP1 的情况下中断。SQL Server 2016 SP1 CU2 中的修复旨在解决此问题并防止安装 CU 后从计算机中删除 DatabaseMail.exe.config 文件。因此,如果您安装 SQL Server 2016 SP1 + CU2,则数据库邮件不会受到设置的影响。但是,如果数据库邮件因安装 SQL Server 2016 SP1 CU1 而损坏,您可以使用下面提到的任何一种解决方法。

于 2018-03-23T16:18:35.310 回答