徵狀

請試想下列案例:

  • 您可以在 Microsoft SQL Server 2014 中啟用 AlwaysOn 可用性群組功能。

  • AlwaysOn 資料庫具有公共語言執行時間(CLR)使用者定義的資料類型(UDT)。 此外,一個以上的資料庫中也會有相同的 CLR UDT。

  • 您執行的查詢涉及多個具有 CLR UDT 的資料庫。

在這種情況下,次要複本中發生存取違例錯誤,且 SQL Server 實例在 SQL Server 錯誤記錄中使用下列訊息當機:

2015-02-17 13:07: 36.85 spid27s 在 VLR 處理期間在 commit 期間處理期間,因例外狀況2905而關閉資料庫。 2015-02-17 (3449,嚴重性:21,State: spid27s-02-17 13:07: 1.2015 36.85 SQL Server 必須關閉,才能復原資料庫(資料庫 ID 2)。 資料庫是無法關閉或系統資料庫的使用者資料庫。 重新開機 SQL Server。 如果資料庫無法在其他啟動之後復原,請修復或還原資料庫。

此外,您會在次要複本資料庫中收到下列錯誤訊息,直到您重新開機 SQL Server 之後,才會發生此錯誤:

Msg 3961、Level 16、State 1、Line 3Snapshot 隔離事務在資料庫 ' <DatabaseName>」中失敗,因為該語句所存取的物件已由另一個併發事務中的 DDL 語句所修改,自此事務開始之後。 因為中繼資料沒有版本控制,所以是不允許的。 如果使用快照隔離混合,則對中繼資料的併發更新可能會造成不一致的情況。

解決方案

累積更新資訊

此問題最初是在 SQL Server 的後續累積更新中修正。

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 我們建議您下載並安裝最新的 SQL Server 累積更新:

更新資訊若要解決此問題,請套用更新 KB 3043788:適用于 SQL Server 2014 的隨選熱修復程式更新套件

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×