症状
请考虑以下情况:
-
你运行的服务器托管有不同主要版本的多个实例,包括 Microsoft SQL server 2008、2008 R2、2012或2014,以及 SQL server 2016 或2017(这包括轻型版本实例,如 SQL Express)。
-
为 sql server 2016 SP2 安装累积更新2(cu 2) 和 Sql Server 2017 累积更新10(cu 10)。
-
你可以使用卷影复制服务(VSS)应用程序备份版本2008、2008 R2、2012或2014的 SQL Server 实例中的任何数据库。
-
或者,在 服务器为虚拟机时,你可以在虚拟化主机级别启动支持 VSS 的 VM 备份。
在此方案中,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 的每个新的累积更新包含以前的累积更新中包含的所有修补程序和安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解terminology Microsoft 用于描述软件更新的术语。