徵兆
假設您使用一個 Always On 高可用性群組 (AG) 做為次要複本。 當您嘗試將 Microsoft SQL Server 2016 升級到 Service Pack 2 (SP2) 累積更新 11 (CU11) 或更新版本時,升級腳本失敗,而且您可能會收到下列錯誤訊息:
DateTime spidSpidId正在升級資料庫 [DatabaseName] 中的訂閱設定和系統物件。
DateTime spidSpidId 無法更新資料庫「資料庫名稱」,因為資料庫是唯讀的。
DateTime spidSpidId 執行錯誤sp_vupgrade_replication。
原因
當在 SQL AG 的次要複本上執行升級時,資料庫復原與升級腳本執行之間會相互競爭。 因此,您用於 sp_vupgrade_replication 中的游標無法正確篩選出唯讀資料庫。 在相當短的時間內,復原階段中的次要資料庫會包含在可編輯資料庫清單中。 因此,當您嘗試更新這些資料庫時,會因為資料庫為唯讀而返回例外。
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
解決方案
此問題已修正下列累積更新SQL Server:
關於累積更新SQL Server:
每個新的累積更新SQL Server包含上一個累加更新中包含的所有 hotfix 和所有安全性修正。 查看最新累積更新,SQL Server:
參考
了解 Microsoft 用來說明軟體更新的術語。