症狀
假設您使用 Microsoft SQL Server 2016 或 2017。 當可用性群組在 DAG 刪除並重新建立之後立即加入現有的分散式可用性群組 (DAG) 時,它可能無法加入 DAG,並且您會收到類似於以下內容的錯誤訊息:
Always On:處理狀態為「FORWARDER」的 AG 'AGName' 的 AG 組態變更通知 (7) 。
錯誤:41162,嚴重性:16,狀態:0。
無法驗證可用性群組 'AGName' 設定的序號。 記憶體中的序號與保存的序號不相符。 可用性群組和/或本機可用性複本將自動重新啟動。 此時不需要使用者動作。
Always On:AR 'AGName' 現在正在處理通知 (類型 64) 。
Always On:處理狀態為「FORWARDER」的 AG 'AGName' 的 AG 組態變更通知 (7) 。
Always On:AR 'AGName' 現在正在驗證 WSFC 中的 AG 完整性。
Always On:AR 'AGName' 角色轉換 [FORWARDER] --> [FORWARDER],觸發程序 [VALIDATE_AG_CONFIG],狀態 (wsfc = 1,中繼資料 = 1) 。
Always On:AR 'AGName' 現在正在處理類型 -2) (通知。
此外,錯誤 41162 可能會造成 AG 解析狀態,並可能導致另外兩個問題:錯誤 19407 和判斷提示失敗。
錯誤 19407:
資料庫 DBName 中正在復原非合格交易,以進行 Always On Availability Groups 狀態變更。 預計復原完成度:100%。 這是一則資訊訊息。 不需要使用者動作。
[HaDrDbMgr::SetPrimaryAR]將主要設定為 AGID: AGNumber, ReplicaID: ReplicaNumber, AGDBID: AGDBNumber
錯誤:19407,嚴重性:16,狀態:2。
可用性群組 'GroupName' 與 Windows Server 容錯移轉叢集之間的租用已過期。 SQL Server 執行個體與 Windows Server 容錯移轉叢集之間發生連線問題。 若要判斷可用性群組是否正確容錯移轉,請檢查 Windows Server 容錯移轉叢集中對應的可用性群組資源。
斷言:
Always On:處理狀態為 'RESOLVING_NORMAL' (0) 的 AG 'DatabaseName' 的 AG 組態變更通知。
Always On:AR 'DatabaseName' 現在正在驗證 WSFC 中的 AG 完整性。
Always On:GetTransportWithRef () 遭到拒絕,因為本機 AR 未上線。
資料庫 'DatabaseName' 的狀態資訊 - 強化 Lsn: ' (34:304752:1) ' 提交 LSN: ' (0:0:0) ' 提交時間: 'Jan 1 1900 12:00AM'
復原 (DatabaseName, 6) :開始停止平行重做工作角色
**傾印執行緒 - spid = 0, EC = 0x000001F280CC7250
正在傳送堆疊傾印至 FileLocation
* 開始堆疊轉儲:
* 位置:“文件位置”:1774
* 運算式:GetContext () -GetController> () -GetHadrArRoleExternal> () == HADR_ROLE_FORWARDING_SECONDARY
* SPID: SPId
* 處理序識別碼: ProcessId
錯誤:17066,嚴重性:16,狀態:1。
SQL Server 判斷提示:檔案: <“Filelocation”>, line=1774 失敗判斷 = 'GetContext () -GetController> () -GetHadrArRoleExternal> () == HADR_ROLE_FORWARDING_SECONDARY'。 此錯誤可能與時間有關。 如果重新執行陳述式後仍持續發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新啟動伺服器以確保記憶體內資料結構未損毀。
錯誤:3624,嚴重性:20,狀態:1。
系統判斷提示檢查失敗。 如需詳細資料,請檢查 SQL Server 錯誤記錄檔。 一般而言,判斷提示失敗是由軟體錯誤或資料損毀所造成。 若要檢查資料庫損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間傳送傾印給 Microsoft,將會將迷你傾印傳送給 Microsoft。 更新可能會從 Microsoft 的最新 Service Pack 或技術支援的 Hotfix 中取得。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
解決方式
此問題已在下列 SQL Server 累積更新中修正:
關於 SQL Server 的累積更新:
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
隨選 Hotfix 資訊:
此問題已在下列 SQL Server 隨選 Hotfix 中修正:
參考資料
了解 Microsoft 用來說明軟體更新的術語。