修复:如果在 SQL Server 2016 中将 "始终在故障转移群集实例" 上用作辅助副本,则升级脚本可能失败


Hotfix and Security Content Publishing: 118792

症状

假设你将 "始终在故障转移群集实例" (FCI)用作辅助副本。 当你尝试将 Microsoft SQL Server 2016 升级到 Service Pack 2 (SP2)累积更新11(CU11)或更高版本时,升级   脚本将失败,并且你可能会收到以下错误消息:

DateTime spidSpidId升级数据库 [DatabaseName] 中的订阅设置和系统对象。

DateTime spidSpidId      无法更新数据库 "DatabaseName",因为数据库是只读的。

DateTime spidSpidId      执行 sp_vupgrade_replication 时出错。

原因

在 SQL FCI 的辅助副本上执行升级时,数据库恢复和升级脚本执行之间存在争用。 因此,在sp_vupgrade_replication内部使用的光标无法正确筛选出只读数据库。 较短的时间,恢复阶段中的辅助数据库包含在可编辑数据库的列表中。因此,当你尝试更新这些数据库时,将返回异常,因为数据库是只读的。

状态

Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。

解决方案

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

关于 SQL Server 的累积更新:

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

参考

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

Bug information:

KE: v-sidong

Author:

Writer: v-sidong

Tech reviewer: houdu; maarumug; lzhang

Editor: v-jizho

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×