Always On 可用性グループへのセカンダリ レプリカの参加

適用対象: はいSQL Server (サポートされているすべてのバージョン)

このトピックでは、 SQL Server Management Studioで Transact-SQL、 SQL Server、または PowerShell を使用して、Always On 可用性グループにセカンダリ レプリカを参加させる方法について説明します。 Always On 可用性グループにセカンダリ レプリカを追加したら、セカンダリ レプリカを可用性グループに参加させる必要があります。 レプリカの参加操作は、セカンダリ レプリカをホストしている SQL Server インスタンス上で実行する必要があります。

前提条件

  • 可用性グループのプライマリ レプリカが現在オンラインになっている必要があります。
  • 可用性グループへの参加が済んでいないセカンダリ レプリカをホストするサーバー インスタンスに接続されている必要があります。
  • プライマリ レプリカをホストしているサーバー インスタンスのデータベース ミラーリング エンドポイントに対してローカル サーバー インスタンスが接続できる必要があります。

重要

いずれかの前提条件が満たされていない場合、参加操作は失敗します。 参加操作が失敗した場合は、プライマリ レプリカをホストしているサーバー インスタンスに接続し、セカンダリ レプリカを削除して再度追加した後で、可用性グループに参加させる必要があります。 詳細については、「可用性グループからのセカンダリ レプリカの削除 (SQL Server)」および「可用性グループへのセカンダリ レプリカの追加 (SQL Server)」を参照してください。

Permissions

可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。

SQL Server Management Studio の使用

可用性グループに可用性レプリカを参加させるには

  1. オブジェクト エクスプローラーで、セカンダリ レプリカをホストするサーバー インスタンスに接続し、サーバー名をクリックしてサーバー ツリーを展開します。

  2. [AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。

  3. 接続先のセカンダリ レプリカの可用性グループを選択します。

  4. セカンダリ レプリカを右クリックし、 [可用性グループへの参加] をクリックします。

  5. これにより、 [可用性グループへのレプリカの追加] ダイアログ ボックスが開きます。

  6. セカンダリ レプリカを可用性グループに参加させるには、 [OK] をクリックします。

Transact-SQL の使用

可用性グループに可用性レプリカを参加させるには

  1. セカンダリ レプリカをホストするサーバー インスタンスに接続します。

  2. ALTER AVAILABILITY GROUP ステートメントを使用します。次にその例を示します。

    ALTER AVAILABILITY GROUP group_name JOIN

    group_name は可用性グループの名前です。

    次の例では、セカンダリ レプリカを MyAG 可用性グループに参加させています。

    ALTER AVAILABILITY GROUP MyAG JOIN;  
    

    注意

    コンテキストで使用するこの Transact-SQL ステートメントを確認するには、「可用性グループの作成 (Transact-SQL)」を参照してください。

PowerShell の使用

可用性グループに可用性レプリカを参加させるには

SQL Server PowerShell プロバイダーで次の操作を行います。

  1. ディレクトリ変更コマンド (cd) を使用して、セカンダリ レプリカがホストされているサーバー インスタンスに移動します。

  2. Join-SqlAvailabilityGroup コマンドレットに可用性グループの名前を指定して実行し、セカンダリ レプリカを可用性グループに参加させます。

    たとえば、次のコマンドは、指定されたパスにあるサーバー インスタンスによってホストされるセカンダリ レプリカを MyAgという名前の可用性グループに参加させます。 このサーバー インスタンスは、この可用性グループ内のセカンダリ レプリカをホストする必要があります。

    Join-SqlAvailabilityGroup -Path SQLSERVER:\SQL\SecondaryServer\InstanceName -Name 'MyAg'  
    

    注意

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL Server コマンドレットを使用します。 詳細については、「 Get Help SQL Server PowerShell」を参照してください。

SQL Server PowerShell プロバイダーを設定して使用するには

補足情報: セカンダリ データベースの構成

可用性グループ内のすべてのデータベースには、それぞれ対応するセカンダリ データベースが、セカンダリ レプリカをホストしているサーバー インスタンス上に存在している必要があります。 セカンダリ データベースの構成は、セカンダリ レプリカを可用性グループに参加させる前に行うことも、参加させた後に行うこともできます。

  1. 各プライマリ データベースの最新のデータベースとログ バックアップを、セカンダリ レプリカをホストするサーバー インスタンスに復元します。すべての復元操作は RESTORE WITH NORECOVERY で行う必要があります。 詳細については、「 可用性グループに対するセカンダリ データベースの手動準備 (SQL Server)、または PowerShell を使用して、AlwaysOn 可用性グループにセカンダリ データベースを参加させる方法について説明します。

  2. 各セカンダリ データベースを可用性グループに参加させます。 詳細については、「 可用性グループへのセカンダリ データベースの参加 (SQL Server)のインスタンスに AlwaysOn 可用性グループを作成する方法について説明します。

参照

可用性グループの作成と構成 (SQL Server)
AlwaysOn 可用性グループの概要 (SQL Server)
AlwaysOn 可用性グループの構成のトラブルシューティング (SQL Server)