KB3057876 - 修正:次要副本上的 AlwaysOn 資料庫在 SQL Server 2014 中顯示「未同步」狀態

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

症狀

假設您在 Microsoft SQL Server 2014 中使用「AlwaysOn 可用性群組」功能。 重新啟動 SQL Server 執行個體之後,參與可用性群組的資料庫可能會在次要複本上顯示 [未同步] 狀態。 此外,您無法加入可用性群組或從可用性群組移除資料庫。 而且,您也無法從次要複本移除可用性群組。

在此情況下,SQL Server 錯誤日誌中會記錄類似下列的錯誤訊息:

注意

啟動資料庫 'Database_Name'。
略過資料庫 'Database_Name' 的預設啟動,因為資料庫屬於可用性群組 (群組識別碼: Group_ID) 。 資料庫將由可用性群組啟動。 這是一則資訊訊息。 不需要使用者動作。
資料庫 'Database_Name' 的狀態資訊 - 硬化 LSN: ' (0:0:0) ' 提交 LSN: ' (0:0:0) ' 提交時間: 'datetime'
AlwaysOn 可用性組與主要資料庫的連線已終止,因為可用性複本 'Replica_Name' 上的次要資料庫 'Database_Name' 具有複本識別碼:{Replica_ID}。 這是一則資訊訊息。 不需要使用者動作。
資料庫 'Database_Name' 的狀態資訊 - 硬化 LSN: ' (0:0:0) ' 提交 LSN: ' (0:0:0) ' 提交時間: 'datetime'
資料庫 'Database_Name' 的狀態資訊 - 硬化 LSN: ' (0:0:0) ' 提交 LSN: ' (0:0:0) ' 提交時間: 'datetime'
啟動資料庫 'Database_Name'。
AlwaysOn 可用性組連線,主要資料庫已為可用性複本 'REPLICA_NAME' 上的次要資料庫 'Database_Name' 建立,複本識別碼為:{Replica_ID}。 這是一則資訊訊息。 不需要使用者動作。
2289 筆交易在資料庫「Database_Name」中向前復原 (107:0) 。 這是一則資訊訊息。 不需要使用者動作。
資料庫 'Database_Name' 的 CHECKDB 完成, 日期時間 (當地時間) 沒有錯誤。 這只是一則資訊訊息;不需要使用者動作。
對於具有複本識別碼:{Replica_ID} 的可用性複本 'REPLICA_NAME' 上的次要資料庫 'Database_Name',與主要資料庫的 AlwaysOn 可用性組連線已終止。 這是一則資訊訊息。 不需要使用者動作。

      

原因

發生此問題的原因是重做執行緒與切換角色執行緒之間出現鎖死條件。

解決方式

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

SQL Server 2014 Service Pack 1 的累積更新 2
        
         SQL Server 2014 累積更新 9
        
        
      

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

SQL Server 2014 組建版本
      

狀態

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

參考資料

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