web-dev-qa-db-ja.com

この可用性グループを作成できないのはなぜですか? (エラー35220)

SQL Server 2017インスタンスで可用性グループを作成しようとして、エラー35220が発生していました。

操作を処理できませんでした。 Always On可用性グループのレプリカマネージャーは、ホストコンピューターがWindows Serverフェールオーバークラスタリング(WSFC)クラスターを開始してそれに参加するのを待機しています。ローカルコンピューターがクラスターノードではないか、ローカルクラスターノードがオンラインではありません。コンピューターがクラスターノードの場合は、クラスターに参加するまで待ちます。コンピューターがクラスターノードでない場合は、コンピューターをWSFCクラスターに追加します。その後、操作を再試行してください。

ホストは間違いなくWSFCの一部であり、ノードはオンラインであったため、困惑しました。結局、私がマルチサブネットアベイラビリティグループに焦点を当てたブログで答えを見つけました。私のサブネットがマルチサブネットではなかったため、これまでは見ていませんでした。

したがって、私がここに投稿するのは、他の貧弱なDBAが私と同じように困惑した場合に備えて、ソリューションの可視性を高めるためです。以下に解決策を掲載します。

2
RollingDBA

これが私が答えを見つけたブログです: https://bahtisametcoban.home.blog/2019/01/04/always-on-availability-groups-with-multi-subnet-failover-cluster/

読みたくない場合の答えは

クラスターが完全に動作して準備ができる前に[可用性グループ]を有効にすると、AGを作成しようとするとエラーが発生します

問題のマシンにSQL Serverをインストールして構成したとき、可用性グループ機能(SQL Server Configuration Manager->Services->SQL Server->Properties->AlwaysOn High Availability tab)と、WSFCが作成される前にチェックボックスをオンにしました(そしてサービスを再起動しました)。これが、実際にAGを作成しようとしたときにエラーを引き起こした原因です。

修正は簡単です。可用性グループを無効にし、サービスを再起動してから、再度有効にしてから再起動します。

これがお役に立てば幸いです!

4
RollingDBA