可用性グループへのセカンダリ レプリカの追加 (SQL Server)

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

  • 作業を開始する準備: 

    前提条件と制限

    セキュリティ

  • レプリカを追加するには (次を使用): 

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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

作業を開始する準備

可用性グループを初めて作成する場合は、あらかじめこのセクションに目を通しておくことを強くお勧めします。

前提条件と制限

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

詳細については、「AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)」を参照してください。

セキュリティ

権限

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

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)」を参照してください。

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

    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
    
    注意

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

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

[先頭に戻る]

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

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

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

  2. 新しいセカンダリ レプリカを可用性グループに参加させます。 詳細については、「可用性グループへのセカンダリ レプリカの参加 (SQL Server)」を参照してください。

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

  4. 新しいセカンダリ データベースのそれぞれを可用性グループに参加させます。 詳細については、「可用性グループへのセカンダリ データベースの参加 (SQL Server)」を参照してください。

[先頭に戻る]

関連タスク

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

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連項目

参照

ALTER AVAILABILITY GROUP (Transact-SQL)

概念

AlwaysOn 可用性グループの概要 (SQL Server)

可用性グループの作成と構成 (SQL Server)

AlwaysOn ダッシュボードの使用 (SQL Server Management Studio)

可用性グループの監視 (Transact-SQL)