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

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

このトピックでは、 SQL Server Management Studioで、 Transact-SQL、 SQL Server、または PowerShell を使用して、既存の AlwaysOn 可用性グループにセカンダリ レプリカを追加する方法について説明します。

前提条件と制限

  • プライマリ レプリカをホストするサーバー インスタンスに接続されている必要があります。

詳細については、「 Always On 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)の構成に関する一般的な問題のトラブルシューティングに役立つ情報を提供します。

セキュリティ

Permissions

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

フィードバックをお待ちしております。 この記事の手順やコード例の中で、古い情報や間違っている情報を見つけた場合は、ぜひお知らせください。 このページの下部にある [フィードバック] セクション内で [このページ] ボタンをクリックしてください。 SQL に関するフィードバックのすべての項目に目を通しています (通常は翌日)。 よろしくお願いいたします。

SQL Server Management Studio の使用

レプリカを追加するには

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

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

  3. 可用性グループを右クリックし、次のコマンドのどちらかを選択します。

    • 可用性グループへのレプリカ追加ウィザードを起動するには、 [レプリカの追加] をクリックします。 詳細については、「可用性グループへのレプリカ追加ウィザードの使用 (SQL Server Management Studio)」を参照してください。

    • または、 [可用性グループのプロパティ] ダイアログ ボックスで、 [プロパティ] をクリックします。 このダイアログ ボックスでレプリカを追加する手順は以下のとおりです。

      1. ダイアログ ボックスの [可用性レプリカ] ペインで、 [追加] をクリックします。 これにより、レプリカのエントリが作成され、空白の [サーバー インスタンス] フィールドが選択された状態になります。

      2. 可用性レプリカをホストするための前提条件を満たしているサーバー インスタンスの名前を入力します。

      さらにレプリカを追加するには、上記の手順を繰り返します。 レプリカの指定を完了したら、 [OK] をクリックして操作を完了します。

Transact-SQL の使用

レプリカを追加するには

  1. プライマリ レプリカをホストする SQL Server のインスタンスに接続します。

  2. ALTER AVAILABILITY GROUP ステートメントの ADD REPLICA ON 句を使用して、可用性グループに新しいセカンダリ レプリカを追加します。 ADD REPLICA ON 句には、ENDPOINT_URL、AVAILABILITY_MODE、および FAILOVER_MODE オプションが必要です。 他のレプリカ オプション (BACKUP_PRIORITY、SECONDARY_ROLE、PRIMARY_ROLE、SESSION_TIMEOUT) は省略可能です。 詳細については、「 ALTER AVAILABILITY GROUP (Transact-SQL)、または PowerShell を使用して、既存の AlwaysOn 可用性グループにセカンダリ レプリカを追加する方法について説明します。

    たとえば、次の Transact-SQL ステートメントは、 MyAG によってホストされるデフォルト サーバー インスタンス (エンドポイント URL が COMPUTER04) の TCP://COMPUTER04.Adventure-Works.com:5022'という名前の可用性グループに新しいレプリカを作成します。 このレプリカは、手動フェールオーバーと非同期コミット可用性モードをサポートします。

    ALTER AVAILABILITY GROUP MyAG ADD REPLICA ON 'COMPUTER04'   
       WITH (  
             ENDPOINT_URL = 'TCP://COMPUTER04.Adventure-Works.com:5022',  
             AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,  
             FAILOVER_MODE = MANUAL  
             );  
    

PowerShell の使用

レプリカを追加するには

  1. プライマリ レプリカをホストするサーバー インスタンスにディレクトリを変更 (cd) します 。

  2. New-SqlAvailabilityReplica コマンドレットを使用します。

    たとえば、次のコマンドは、可用性レプリカを MyAgという名前の可用性グループに追加します。 このレプリカは、手動フェールオーバーと非同期コミット可用性モードをサポートします。 セカンダリ ロールでは、このレプリカは読み取りアクセス接続をサポートして、読み取り専用の処理をこのレプリカにオフロードできるようにします。

    $agPath = "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"  
    $endpointURL = "TCP://PrimaryServerName.domain.com:5022"  
    $failoverMode = "Manual"  
    $availabilityMode = "AsynchronousCommit"  
    $secondaryReadMode = "AllowAllConnections"  
    
    New-SqlAvailabilityReplica -Name SecondaryServer\Instance `   
    -EndpointUrl $endpointURL `   
    -FailoverMode $failoverMode `   
    -AvailabilityMode $availabilityMode `   
    -ConnectionModeInSecondaryRole $secondaryReadMode `   
    -Path $agPath  
    

    注意

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

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

補足情報: セカンダリ レプリカを追加した後

既存の可用性グループのレプリカを追加するには、次の手順を実行する必要があります。

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

  2. 新しいセカンダリ レプリカを可用性グループに参加させます。 詳細については、「 可用性グループへのセカンダリ レプリカの参加 (SQL Server)、または PowerShell を使用して、既存の AlwaysOn 可用性グループにセカンダリ レプリカを追加する方法について説明します。

  3. 可用性グループ内の各データベースについて、セカンダリ レプリカをホストしているサーバー インスタンス上でセカンダリ データベースを作成します。 詳細については、「 可用性グループに対するセカンダリ データベースの手動準備 (SQL Server)、または PowerShell を使用して、AlwaysOn 可用性グループにセカンダリ データベースを参加させる方法について説明します。

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

可用性レプリカを管理するには

参照

ALTER AVAILABILITY GROUP (Transact-SQL)
AlwaysOn 可用性グループの概要 (SQL Server)
可用性グループの作成と構成 (SQL Server)
AlwaysOn ダッシュボードの使用 (SQL Server Management Studio)
可用性グループの監視 (Transact-SQL)