KB4466108 - 修正:安裝 SQL Server 2016 和 2017 之後,使用 VSS 備份應用程式備份 SQL Server 資料庫可能會失敗

套用到
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)

症狀

請考慮以下案例:

  • 您執行的伺服器裝載多個具有不同主要版本的執行個體,不僅包括 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'。

注意: 當您執行下列查詢時,便會發生錯誤:
DECLARE @sql nvarchar (MAX) DECLARE @DatabaseName VARCHAR (256) set @DatabaseName =N'master'set @sql = SELECT 1 FROM master.sys.availability_replicas AS AR INNER JOIN master.sys.databases AS d ON DB_ID (''' + @DatabaseName + ''') = d.database_id AND ar.replica_id = d.replica_id INNER JOIN master.sys.dm_hadr_availability_replica_states AS ST ON ar.replica_id = st.replica_id AND st.role = 2'EXEC (@sql)

對於裝載 AlwaysOn 可用性群組次要資料庫的 SQL Server 2012 或 SQL Server 2014 執行個體

注意

錯誤狀態:1,嚴重性:16
來源: Microsoft SQL Server Native Client 11.0
錯誤訊息:無效的欄名稱 'basic_features'。

在此情況下,遇到錯誤的查詢將會是:

注意

'select database_id, ar.replica_id, replica_server_name, is_primary_replica, ar.group_id, basic_features from master.sys.availability_replicas ar, master.sys.dm_hadr_database_replica_states rs, master.sys.availability_groups ag where database_id = DB_ID (''' + @DatabaseName + '''' ) AND replica_server_name = ''' + @INSTANCENAME ''' AND ar.replica_id = rs.replica_id AND ar.group_id = ag.group_id'

解決方式

此問題已在下列 SQL Server 累積更新中修正:

SQL Server 2017 的累積更新 12

SQL Server 2016 SP2 的累積更新 4

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含先前累積更新的所有 Hotfix 和安全性修正程式。 查看 SQL Server 的最新累積更新:

適用於 SQL Server 2017 的最新累積更新

適用於 SQL Server 2016 的最新累積更新

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

瞭解 Microsoft 用來說明軟體更新的 術語 。