KB3070382 - 修复:使用无效用户名在存储过程中运行远程查询时,SQL Server崩溃

应用对象
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web 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)

症状

假设在 Microsoft SQL Server 2012、2014 或 2016 中的存储过程中运行远程查询,例如 sp_batch_params。 如果用户名无效且无法登录远程服务器,则SQL Server实例崩溃,并且你会收到一条通用错误消息。

解决方法

应用此修补程序后,SQL Server 实例不会崩溃,并且运行“症状”部分中所述的查询时会收到以下错误消息:

注意

消息 18487,级别 14,状态 1,
用户 <用户名>登录失败。 原因:帐户的密码已过期。
消息 18456,级别 14,状态 1,
用户 <用户名>登录失败。

此问题首先在以下SQL Server累积更新中得到解决:

建议:为SQL Server安装最新的累积更新

SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 建议下载并安装SQL Server的最新累积更新:

      

状态

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