KB4497230 - 修正:若資料庫在 2014、2016 及 2017 SQL Server 有已失效的檔案群組,則無法加入次要副本

套用到
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Service Pack 2 SQL Server 2016 Service Pack 1 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) SQL Server 2017 Developer Windows SQL Server 2017 Enterprise Windows SQL Server 2017 Enterprise Core Windows SQL Server 2017 Standard Windows

症狀

請考慮以下案例:

  • 你有一個資料庫,裡面有一個已停用的檔案群組,你正試圖在 2014、2016 和 2017 SQL Server Microsoft (AG) 加入一個Always On可用性群組。
  • 你可以把資料庫加入主副本,並用 NORECOVERY 在次要副本上恢復完整備份和日誌備份,這點沒問題。

在此情境中,當你嘗試將資料庫加入次要副本的可用性群組,並使用 ALTER DATABASE <DatabaseName> SET HADR AVAILABILITY GROUP = <AGName> 或使用自動播種來配置次要副本時,你會注意到已停用檔案群組中資料檔案會報告錯誤 17207 和 5120:

## spid## 正在啟動資料庫「DatabaseName」。

## spid## 錯誤:17207,嚴重程度:16,狀態:1。

## spid## FileMgr::StartSecondaryDataFiles: 作業系統錯誤 2 (系統無法找到指定的檔案。) 在建立或開啟檔案 「FilePath」時發生。 診斷並修正作業系統錯誤,然後重新嘗試操作。

## spid## 錯誤:5120,嚴重程度:16,狀態:5。

## spid## 無法開啟實體檔案「FilePath」。 作業系統錯誤 2:「2 (系統找不到 specified.) 檔案」。

執行 ALTER DATABASE 指令後,你也會看到資料庫在次要副本上進入「未同步/恢復待處理」模式。

狀態

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

解決方式

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

關於 SQL Server 的累積更新:

每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:

參考資料

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