Always On 可用性組故障轉移問題
我正在測試 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 服務在您的伺服器上沒有所需權限的使用者執行或帳戶被鎖定,則可能會發生此錯誤。嘗試使用另一個帳戶並確保帳戶已解鎖。
如果這不能解決問題,那麼您需要編輯您的系統資料庫(確保先備份)
- 打開開始菜單,寫
regedit
然後按確定- 導航
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 並為故障轉移做好準備。我放置了一個包含嘗試、等待和驗證的循環來解決這個穩定性問題。