次の方法で共有


可用性グループを作成するときのエラー 41131

この記事では、Microsoft SQL Server で可用性グループを作成するときにエラー 41131 が発生する問題の解決策について説明します。

元の製品バージョン: SQL Server
元の KB 番号: 2847723

現象

Microsoft SQL Server で高可用性グループを作成しようとすると、次のエラー メッセージが表示されます。

メッセージ 41131、レベル 16、状態 0、行 2
可用性グループ 'availability_group' をオンラインにできませんでした。 操作がタイムアウトしました。ローカルの Windows Server フェールオーバー クラスタリング (WSFC) ノードがオンラインであることを確認します。 次に、可用性グループ リソースが WSFC クラスターに存在することを確認します。 問題が解決しない場合は、可用性グループを削除して、もう一度作成することが必要になる場合があります。

原因

この問題は、 [NT AUTHORITY\SYSTEM] アカウントが SQL Server ログインに存在しない場合、またはアカウントに高可用性グループを作成するために必要なアクセス許可がない場合に発生します。

解決方法

この問題を解決するには、次の方法のいずれかを使用してください。

方法 1: 手動の手順を使用する

  1. 可用性グループ内のレプリカをホストする各 SQL Server コンピューターで、 [NT AUTHORITY\SYSTEM] アカウントのログインを SQL Server に作成します。

  2. [NT AUTHORITY\SYSTEM] アカウントに、次のサーバー レベルのアクセス許可を付与します。

    • ALTER any availability group

    • SQL の接続

    • サーバー状態の表示

    Note

    アカウントに他のアクセス許可が付与されていないことを確認します。

方法 2: スクリプトを使用する

  1. [NT AUTHORITY\SYSTEM] アカウントを作成するには、クエリ ウィンドウで次のステートメントを実行します。

    USE [master]
    GO
    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO
    
  2. [NT AUTHORITY\SYSTEM] アカウントにアクセス許可を付与するには、クエリ ウィンドウで次のステートメントを実行します。

    GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
    GO
    

詳細

[NT AUTHORITY\SYSTEM] アカウントは、SQL Server Always On の正常性検出によって、SQL Server コンピューターに接続し、正常性を監視するために使用されます。 可用性グループを作成し、可用性グループ内のプライマリ レプリカがオンラインになると、正常性検出が開始されます。 [NT AUTHORITY\SYSTEM] アカウントが存在しないか、十分なアクセス許可を持っていない場合、正常性検出を開始できません。また、作成プロセス中に可用性グループをオンラインにすることはできません。

可用性グループのプライマリ レプリカをホストできる各 SQL Server コンピューターに、これらのアクセス許可が存在することを確認します。

Note

SQL Resource.dllをホストするリソース ホスト モニター サービス プロセス (RHS.exe) は、システム アカウントでのみ実行できます。

詳細については、「 SQL Server Always On 環境での自動フェールオーバーの問題のトラブルシューティングを参照してください。