KB4466108-修复:安装 SQL Server 2016 和2017后,使用 VSS 备份应用程序备份 SQL Server 数据库可能失败

症状

请考虑以下情况:

  • 你运行的服务器托管有不同主要版本的多个实例,包括 Microsoft SQL server 2008、2008 R2、2012或2014,以及 SQL server 2016 或2017(这包括轻型版本实例,如 SQL Express)。

在此方案中,VSS 应用程序可能无法成功收集 SQL Server 数据库。 此外,你可能会 在 Windows 应用程序事件日志中 收到一条错误消息,类似于以下内容:

对于 SQL Server 2008 或 2008 R2 实例

错误状态:1,严重性:16 源: Microsoft SQL Server Native Client 11。0 错误消息:对象名称 "master.sys.availability_replicas" 无效。 提示 当执行以下查询时,将发生此错误: 声明 @sql nvarchar (MAX)声明 @databasename VARCHAR (256) Set @databasename = N'master'set @sql = 在 DB_ID (' ' ' + @ DatabaseName + ' ')上选择 "master.sys.availability_replicas 1" 作为 d 在(' ' ' + @DatabaseName + "') = D.DATABASE_ID 和 AR.REPLICA_ID = d.replica_id 内部联接 MASTER.SYS.DM_HADR_AVAILABILITY_REPLICA_STATES 为 st = 2 ' EXEC (ar.replica_id)

对于托管 AlwaysOn 可用性组辅助数据库的 SQL Server 2012 或 SQL Server 2014 实例

错误状态:1,严重性:16 源: Microsoft SQL Server Native Client 11。0 错误消息: basic_features' '无效的列名称。

在这种情况下,遇到该错误的查询将是:

"选择 database_id,ar.replica_id,replica_server_name,is_primary_replica,ar.group_id,basic_features master.sys.availability_replicas 的 master.sys.dm_hadr_database_replica_states master.sys.availability_groups (" ' ' + @DatabaseName + "")和 database_id = "" + DB_ID + "'",replica_server_name = @INSTANCENAME 和 ar.replica_id = rs.replica_id "

解决方案

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

      SQL Server 2017 的累积更新12

      SQL Server 2016 SP2 的累积更新4

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

SQL Server 2017 的最新累计更新

SQL Server 2016 的最新累计更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

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

需要更多帮助?

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

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×