KB4346803 - 修复:运行sp_send_dbmail存储过程时发生错误,该存储过程在发件人电子邮件地址中包含逗号,并在SQL Server中包含名称

应用对象
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

症状

假设使用 数据库邮件 和 sp_send_dbmail 存储过程在 2014、2016 或 2017 Microsoft SQL Server 发送电子邮件。 将 recipients 参数 (例如:名字、姓氏) (包含逗号)传递给存储过程时,可能会注意到SQL Server无法发送电子邮件。 此外,还可能会收到类似于以下内容的错误消息:

注意

消息 14613、级别 16、状态 1、Procedure ProcedureName、Line LineNumber [Batch Start Line 0] 指定的“@recipients”不能使用逗号 (,) 分隔地址:“”UserName,UserTitle“ <Email@Contoso.com>' 。 若要继续,请使用分号 (;) 分隔地址。

解决方法

以下SQL Server累积更新中修复了此问题:

SQL Server 2017 累积更新 13

SQL Server 2016 SP2 的累积更新 5

SQL Server 2016 SP1 的累积更新 13

SQL Server 2014 SP2 的累积更新 13

关于SQL Server的累积更新:

SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:

SQL Server 2017 的最新累计更新

SQL Server 2016 年的最新累积更新

SQL Server 2014 年的最新累积更新

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解 Microsoft 用于描述软件更新的术语