Dav*_*ave 17 sql-server database-mail sql-server-2016
我在 SQL Server 2016 上玩得很开心……我的数据库邮件没有发送,而且我已经没有地方可以查看了。我仔细检查了 DBmail 可执行文件的 SQL 帐户权限 - 它已读取并执行。我输入了防火墙出站端口 587 的规则。我尝试了另一个邮件帐户和配置文件,但遇到了相同的未发送问题。日志(db 邮件日志)中唯一的条目是服务的开始和结束。我能找到的任何地方都没有错误。电子邮件似乎只是进入发送队列,永远不会离开它。这些帐户可以自己发送和接收电子邮件,也可以从另一台计算机上的 SQL Server 2014 实例发送和接收电子邮件。
我有一个发送状态为“未发送”的项目队列,除了一长串未发送的邮件外,我还检查了所有正常位置和预期结果:
SELECT * FROM msdb..sysmail_event_log order by log_id DESC
SELECT * FROM dbo.sysmail_mailitems
SELECT * FROM dbo.sysmail_sentitems
USE msdb
SELECT sent_status, *
FROM sysmail_allitems
SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb';
EXECUTE msdb.dbo.sysmail_help_status_sp
Run Code Online (Sandbox Code Playgroud)
我曾尝试将其关闭并再次打开......所以我是否错过了可以阐明这种情况的 DMV 等?这是我搜索中没有的 SQL Server 2016 的已知问题吗?发送此邮件的任何其他可能步骤?
Dav*_*ave 17
一时兴起,在仔细检查权限时,我双击了实际的 DB 邮件可执行文件。SQL Server 2014 机器上的结果是一个空的命令窗口。在 SQL Server 2016 上单击 DB Mail 可执行文件会显示以下消息:
我在 SQL Server 2016 文档中的任何地方都找不到此要求,但这显然是一项要求。DB Mail 运行完美,除了安装 .NET 3.5 没有其他变化。
小智 10
根据 Microsoft 支持,SQL Server 2016 安装程序中存在一个错误,导致数据库邮件在没有 .net 3.5 的情况下无法工作
通过在存在DatabaseMail.exe的同一文件夹(Binn 文件夹)中创建DatabaseMail.exe.config文件,将以下内容写入文件并使用utf-8 编码保存
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
来源: 修复:SQL Server 2016 数据库邮件在未安装 .NET Framework 3.5 的计算机上不起作用
| 归档时间: |
|
| 查看次数: |
55220 次 |
| 最近记录: |