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 (最大值)宣告 @databasename VARCHAR (256) Set @databasename = N'master'set @sql = 從 master.sys.availability_replicas 中選取1,以 ar 內連接 master. sys. 在 DB_ID ("'" + @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 ar、master.sys.dm_hadr_database_replica_states rs、master.sys.availability_groups ag,database_id = DB_ID ("'" + @DatabaseName + "" ")和 replica_server_name = '" + @INSTANCENAME + "" ",ar.replica_id =" "+ rs.replica_id = ar.group_id"

解決方案

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

      SQL Server 2017 累計更新12

      SQL Server 2016 SP2 累積更新4

每個新的 SQL Server 累積更新包含前一個累積更新中所包含的所有修復程式和安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2017 的最新累計更新

SQL Server 2016 的最新累計更新

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

參考

瞭解terminologyMicrosoft 用於描述軟體更新的術語。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?

What affected your experience?

Any additional feedback? (Optional)

Thank you for your feedback!

×