KB4340837 - 修正:在提取訂閱資料庫上具有 SQL Server 資料庫快照集的伺服器上套用 Hotfix 時,發生錯誤 3906

Applies To
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 on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2014 Service Pack 2 - duplicate (do not use) 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)

症狀

假設您在執行 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 組建

SQL Server 的每個新組建都包含前一個組建中的所有 Hotfix 和安全性修正程式。 建議您安裝適用於您 SQL Server 版本的最新組建:

狀態

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

參考資料

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