症狀
請考慮以下案例:
- 您執行的伺服器裝載多個具有不同主要版本的執行個體,不僅包括 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執行個體中的任何資料庫。
- 或者,當伺服器是虛擬機器時,您可以在虛擬化主機層級啟動 VM 的啟用 VSS 備份。
在這種情況下,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 的累積更新
SQL Server 的每個新累積更新都包含先前累積更新的所有 Hotfix 和安全性修正程式。 查看 SQL Server 的最新累積更新:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
瞭解 Microsoft 用來說明軟體更新的 術語 。