症狀
假設您在執行 Microsoft SQL Server 的伺服器上的提取訂閱資料庫上有一個資料庫快照集。 當您在伺服器上套用 Hotfix 時,指令碼層級升級會失敗,並且您會收到類似下列的錯誤訊息:
注意
日期時間spid_number 執行複寫作業安全性中繼資料升級...
日期timespid_number錯誤:3906,嚴重性:16,狀態:1。
日期timespid_number無法更新資料庫「database_name」,因為資料庫是唯讀的。
日期timespid_number錯誤:912,嚴重性:21,狀態:2。
日期timespid_number資料庫 'master' 的指令碼層級升級失敗,因為升級步驟 'msdb110_upgrade.sql' 遇到錯誤 3906,狀態 1,嚴重性 16。 這是嚴重的錯誤情況,可能會干擾正常操作,資料庫將會離線。 如果錯誤發生在「主」資料庫升級期間,則會防止整個 SQL Server 執行個體啟動。 檢查先前的錯誤記錄項目是否有錯誤、採取適當的更正動作並重新啟動資料庫,以便完成指令碼升級步驟。
解決方式
此問題已在下列 SQL Server 更新中修正:
- SQL Server 2017 累積更新 9
- SQL Server 2016 Service Pack 2 的累積更新 2
- SQL Server 2016 Service Pack 1 的累積更新 10
- SQL Server 2014 SP2 的累積更新 13
關於 SQL Server 組建
SQL Server 的每個新組建都包含前一個組建中的所有 Hotfix 和安全性修正程式。 建議您安裝適用於您 SQL Server 版本的最新組建:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
瞭解 Microsoft 用來說明軟體更新的 術語 。