KB3042370 - 當 SQL Server 2014 中的 AlwaysOn 資料庫具有 CLR UDT 時,AlwaysOn 次要副本當機或引發錯誤 3961

Applies To
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

請考慮以下案例:

  • 您可以在 Microsoft SQL Server 2014 中啟用 AlwaysOn 可用性群組功能。
  • AlwaysOn 資料庫具有 UDT) (使用者定義資料類型) (CLR 通用語言執行階段。 此外,同一個 CLR UDT 存在於多個資料庫中。
  • 您執行的查詢涉及具有 CLR UDT 的多個資料庫。

在此案例中,次要副本上發生存取衝突錯誤,並且 SQL Server 執行個體當機,並在 SQL Server 錯誤日誌中顯示以下消息:

注意

2015-02-17 13:07:36.85 SPID27s 在認可時進行 VLR 處理期間,由於例外狀況 2905 而關閉資料庫。

2015-02-17 13:07:36.85 SPID27s Error: 3449, Severity: 21, State: 1.2015-02-17 13:07:36.85 SPID27 SQL Server必須關閉,才能復原 (資料庫識別碼為 2) 的資料庫。 資料庫是無法關閉的使用者資料庫或系統資料庫。 重新啟動 SQL Server。 如果資料庫在其他啟動後無法復原,請修復或還原資料庫。

此外,您會在次要複本資料庫中收到下列錯誤訊息,而且在您重新啟動 SQL Server 之前,錯誤不會消失:

注意

Msg 3961, Level 16, State 1, Line 3
資料庫 'DatabaseName><' 中的快照集隔離交易失敗,因為自從此交易開始後,另一個並行交易中的 DDL 陳述式已修改陳述式所存取的物件。 不允許,因為中繼資料未進行版本控制。 如果與快照隔離混合使用,並行更新中繼資料可能會導致不一致。

        
      

解決方式

累積更新資訊

此問題已先在下列 SQL Server 累積更新中修正。

建議:安裝最新的 SQL Server 累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 我們建議您下載並安裝 SQL Server 的最新累積更新:

      

更新資訊若要解決此問題,請套用更新 KB 3043788: 現已提供適用於 SQL Server 2014 的隨選 Hotfix 更新套件。

狀態

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