【问题标题】:SQL Database Mail from Azure VMAzure VM 中的 SQL 数据库邮件
【发布时间】:2017-03-07 16:40:37
【问题描述】:

我们正在将我们的系统从专用托管迁移到 Azure。此过程的一部分是数据馈送系统,当数据馈送出现问题时,该系统会向客户和我们的系统管理员发送电子邮件。

我们使用 SQL 数据库邮件和一个简单的 IIS 6.0 SMTP 服务器设置在盒子上。然后在我们的 SQL 存储过程中,我们调用 sp_send_dbmail 来发送我们的消息。

我们已尝试在 Azure 虚拟机上复制此内容,但电子邮件似乎没有通过。 SMTP 服务器的安装和设置与原来的专用盒子相同。数据库邮件配置也是一样的。我们的配置文件和帐户具有相同的名称,因此任何引用它们的迁移代码都不必更改。我什至无法让“发送测试电子邮件...”从 SSMS 中的数据库邮件节点工作。

我在 Azure 中是否缺少某些东西、需要打开的端口或要设置的端点?我们使用 SQL Server 2016 运行 Windows 2016 数据中心 VM。

【问题讨论】:

  • 根据知识,如果只从 Azure VM 发送邮件,则不需要打开终结点。也许你可以参考这个link来配置SQL数据库邮件。
  • 请注意,此功能仅在 Professional 和 Enterprise 计划中可用。
  • SQL Developer Edition 怎么样?当我们转向生产时,我们使用的是专业的,但我使用的是开发人员进行测试。

标签: azure smtp azure-virtual-machine sql-server-2016 database-mail


【解决方案1】:

事实证明,问题在于 SQL Server 2016 不再需要安装 .NET 3.5,但一些底层组件仍在使用它。

请看这篇文章: https://joeydantoni.com/2016/07/27/sql-server-2016-database-mail-not-working/

我无法使用文章中的确切解决方案,但以下是对我有用的解决方案。

创建文件:
C:\Program Files\Microsoft SQL Server\MSSQL13.REPLINKDEV\MSSQL\Binn\DatabaseMail.exe.config

把这个放到文件中:

<?xml version="1.0"?>
  <configuration>
      <startup useLegacyV2RuntimeActivationPolicy="true">
          <supportedRuntime version="v4.0"/>
          <supportedRuntime version="v2.0.50727"/>
      </startup>
  </configuration>

重启 SQL Server

如果您可以在同一个文件夹中打开 DatabaseMail.exe,您就可以判断它是否正常工作。如果不是,很可能是配置文件有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 2021-04-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多