症狀
請考慮以下案例:
- 你有一個資料庫,裡面有一個已停用的檔案群組,你正試圖在 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 用來說明軟體更新的術語。