徵狀
假設您使用的是 Microsoft SQL Server 2014 中的 [AlwaysOn 可用性群組] 功能。 重新開機 SQL Server 實例之後,參與可用性群組的資料庫可能會在次要複本上顯示「無法同步處理」狀態。 此外,您無法從可用性群組加入或移除資料庫。 此外,您也無法從次要複本中移除可用性群組。在這種情況下,會在 SQL Server 錯誤記錄中記錄類似下列的錯誤訊息:
啟動資料庫「Database_Name」。由於資料庫屬於可用性群組([群組識別碼: Group_ID)],因此略過預設的資料庫「Database_Name' 啟動。 資料庫將由可用性群組啟動。 這只是一則資訊訊息。 不需要使用者動作。資料庫 [Database_Name\] 的狀態資訊-Hardended Lsn: ' (0:0:0)「提交 Lsn:」(0:0:0)「提交時間:」 [日期時間] AlwaysOn 可用性群組與主要資料庫的連線在可用性複本 "Replica_Name" 上以複本識別碼: {Replica_ID}Database_Name結束。 這只是一則資訊訊息。 不需要使用者動作。資料庫 'Database_Name」的狀態資訊-Hardended Lsn: "(0:0:0)" commit lsn: "(0:0:0)「提交時間:」資料庫「Database_Name」的日期時間" 狀態資訊-Hardended LSN: ' (0:0:0)「提交 Lsn: ' (0:0:0)」提交時間:「日期時間' 啟動資料庫 'Database_Name」。[AlwaysOn 可用性群組] 連線與針對次要資料庫Database_Name"REPLICA_NAME" (含複本 ID: {Replica_ID})的可用性複本 "REPLICA_NAME" 上建立的主要資料庫。 這只是一則資訊訊息。 不需要使用者的任何動作。2289事務會在資料庫 'Database_Name」中向前轉送(107:0)。 這只是一則資訊訊息。 不需要使用者動作。已完成 [資料庫 'Database_Name」的 CHECKDB,在 日期時間 (當地時間)上沒有錯誤。 這只是一則資訊訊息;不需要使用者動作。[AlwaysOn 可用性群組] 與主要資料庫的連線在可用性複本 "REPLICA_NAME" 上以複本 ID: {Replica_ID} 的可用性複本 "Database_Name' 結束。 這只是一則資訊訊息。 不需要使用者動作。
原因
之所以會發生這個問題,是因為復原執行緒與切換角色執行緒之間出現鎖死情況。
解決方案
這個問題首先是在 SQL Server 2014 的下列累積更新中修正:
Sql server 2014 的累積更新2(適用于 sql Server 2014 ) Service Pack 1 累加更新9
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 術語 。