Availability-Groups

Always On 可用性組故障轉移問題

  • March 16, 2022

我正在測試 PowerShell 災難恢復腳本並嘗試使用此命令故障轉移到異地 AG DR(非同步)副本

ALTER AVAILABILITY GROUP [MyAG] FORCE_FAILOVER_ALLOW_DATA_LOSS

在幾個集群上這工作正常,但在其他幾個集群上它通常會失敗(但並非總是)並出現錯誤:

無法將 Windows Server 故障轉移群集 (WSFC) 組移動到本地節點(錯誤程式碼 5023)。WSFC 服務可能未執行或在其目前狀態下可能無法訪問,或者指定的集群組或節點句柄無效。有關此錯誤程式碼的資訊,請參閱 Windows 開發文件中的“系統錯誤程式碼”。

無法將可用性組“MyAG”的本地可用性副本指定為主副本。該操作遇到 SQL Server 錯誤 41018 並已終止。檢查上述錯誤和 SQL Server 錯誤日誌以獲取有關錯誤和更正操作的更多詳細資訊。

我們必須強制仲裁模擬非同步 DR 副本無法與其他副本通信的情況:https ://docs.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/force -a-wsfc-cluster-to-start-without-a-quorum?view=sql-server-2017

Get-Cluster比較有效的集群與那些Get-ClusterGroup不適用且未發現任何重大差異的集群。

此故障轉移已在某些集群上成功執行,但在其中兩個集群上 99% 的時間都失敗了。它已經在這兩個集群上工作過,但很少。我從 Google 搜尋中發現的常見問題之一是權限NT Authority\System(請參閱https://dataginger.com/2014/10/28/sql-server-failed-to-bring-availability-group-availability-group-name- online/),我確認它有。

我進行了跟踪,發現相同的錯誤,並且在跟踪中沒有其他線索。

如果沒有任何結果,我可能不得不打開 Microsoft 票以獲取他們的支持。

有什麼想法嗎?

謝謝你的幫助!

如果您的 SQL Server 服務在您的伺服器上沒有所需權限的使用者執行或帳戶被鎖定,則可能會發生此錯誤。嘗試使用另一個帳戶並確保帳戶已解鎖。

如果這不能解決問題,那麼您需要編輯您的系統資料庫(確保先備份)

  1. 打開開始菜單,寫regedit然後按確定
  2. 導航HKEY_LOCAL_MACHINE\Cluster\Resources\<GUID>\Parameters

參數系統資料庫項:

對於 SQL Server 的預設實例:InstanceName

值名稱:InstanceName

值類型:REG_SZ

數值數據:MSSQLSERVER

虛擬伺服器名稱

值名稱:VirtualServerName

值類型:REG_SZ

數值數據:

對於 SQL Server 的命名實例:

值名稱:InstanceName

值類型:REG_SZ

數值數據:

VirtualServerName

值名稱:VirtualServerName

值類型:REG_SZ

值數據:

4-退出系統資料庫編輯器

感謝大家的幫助。我今天解決了這個問題,結果發現某些集群需要更長的時間才能真正啟動 WSFC 並為故障轉移做好準備。我放置了一個包含嘗試、等待和驗證的循環來解決這個穩定性問題。

引用自:https://dba.stackexchange.com/questions/233588