Sql-Server

為什麼我無法創建此可用性組?(錯誤 35220)

  • July 15, 2020

我試圖在 SQL Server 2017 實例上創建可用性組並遇到錯誤 35220:

無法處理該操作。Always On 可用性組副本管理器正在等待主機啟動 Windows Server 故障轉移群集 (WSFC) 群集並加入它。本地電腦不是集群節點,或者本地集群節點不線上。如果電腦是集群節點,等待它加入集群。如果電腦不是群集節點,請將電腦添加到 WSFC 群集。然後,重試該操作。

我被難住了,因為主機絕對是 WSFC 的一部分,並且節點線上。我最終在一個專注於多子網可用性組的部落格中找到了答案,我之前沒有看過它,因為我的不是多子網。

因此,我在此處發布此內容是為了更好地了解解決方案,以防其他一些糟糕的 DBA 像我一樣遇到困難。我將在下面發布解決方案。

這是我找到答案的部落格:https ://bahtisametcoban.home.blog/2019/01/04/always-on-availability-groups-with-multi-subnet-failover-cluster/ 。

如果你不想通讀它,答案是

如果啟用

$$ Availability Groups $$在集群完全執行並準備好之前,當您嘗試創建 AG 時會出現錯誤

當我在相關機器上安裝和配置 SQL Server 時,我立即啟用了可用性組功能 ( SQL Server Configuration Manager->Services->SQL Server->Properties->AlwaysOn High Availability tab),並在創建 WSFC 之前選中了該框(並重新啟動了服務)。這就是我嘗試實際創建 AG 時導致錯誤的原因。

修復很簡單:只需禁用可用性組,重新啟動服務,然後重新啟用它們並再次重新啟動它。

希望這對您有所幫助!

如果您在 Server Core 2019 上執行此程序(因此沒有 GUI),請嘗試以下 PowerShell 命令。它們是上述答案中“禁用可用性組,重新啟動服務,然後重新啟用它們”的命令行等效項:

Disable-SqlAlwaysOn -Path "SQLSERVER:\Sql\server_name\instance_name"
Enable-SqlAlwaysOn -Path "SQLSERVER:\Sql\server_name\instance_name"

您可以從Enter-PSSessionshell 執行此命令。(不必來自伺服器本身)。這些命令將要求您重新啟動服務。

另一個參考點:https ://www.percyreyes.com/2016/01/error-local-node-is-not-able-to.html

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