可用性レプリカのフェールオーバー モードの変更 (SQL Server)

このトピックでは、SQL Server Management Studio、Transact-SQL、または PowerShell を使用して、SQL Server 2012 の AlwaysOn 可用性グループでの可用性レプリカのフェールオーバー モードを変更する方法について説明します。 フェールオーバー モードは、同期コミット可用性モードで実行されるレプリカのフェールオーバー モードを決定するレプリカ プロパティです。 詳細については、「フェールオーバーとフェールオーバー モード (AlwaysOn 可用性グループ)」および「可用性モード (AlwaysOn 可用性グループ)」を参照してください。

  • 作業を開始する準備: 

    前提条件と制限

    セキュリティ

  • 可用性レプリカの可用性モードを変更する方法: 

    SQL Server Management Studio

    Transact-SQL

    PowerShell

作業を開始する準備

前提条件と制限

  • このタスクは、プライマリ レプリカ上でのみサポートされます。 プライマリ レプリカをホストするサーバー インスタンスに接続されている必要があります。

  • SQL Server フェールオーバー クラスター インスタンス (FCI) は可用性グループによる自動フェールオーバーをサポートしないため、FCI によってホストされる可用性レプリカは手動フェールオーバー用にのみ構成できます。

セキュリティ

権限

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

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

SQL Server Management Studio の使用

可用性レプリカのフェールオーバー モードを変更するには

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

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

  3. 変更するレプリカが含まれる可用性グループをクリックします。

  4. レプリカを右クリックし、[プロパティ] をクリックします。

  5. [可用性レプリカ プロパティ] ダイアログ ボックスで [フェールオーバー モード] ボックスの一覧を使用して、このレプリカのフェールオーバー モードを変更します。

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

Transact-SQL の使用

可用性レプリカのフェールオーバー モードを変更するには

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

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

    ALTER AVAILABILITY GROUP group_name MODIFY REPLICA ON 'server_name'

       WITH ( {

           AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }

         | FAILOVER_MODE = { AUTOMATIC | MANUAL }

           }  )

    ここで、

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

    • { 'system_name[\instance_name]' |'FCI_network_name[\instance_name]' }

      変更する可用性レプリカをホストする SQL Server インスタンスのアドレスを指定します。 このアドレスの構成要素は次のとおりです。

      • system_name
        スタンドアロン サーバー インスタンスが存在するコンピューター システムの NetBIOS 名です。

      • FCI_network_name
        ターゲット サーバー インスタンスが SQL Server フェールオーバー パートナー (FCI) である SQL Server フェールオーバー クラスターにアクセスするために使用されるネットワーク名です。

      • instance_name
        ターゲットの可用性レプリカをホストする SQL Server のインスタンスの名前です。 既定のサーバー インスタンスの場合、instance_name は省略可能です。

    これらのパラメーターの詳細については、「ALTER AVAILABILITY GROUP (Transact-SQL)」を参照してください。

    次の例は、MyAG 可用性グループのプライマリ レプリカで実行すると、COMPUTER01 という名前のコンピューター上のデフォルト サーバー インスタンスにある可用性レプリカで、フェールオーバー モードが自動フェールオーバーに変更されます。

    ALTER AVAILABILITY GROUP MyAG MODIFY REPLICA ON 'COMPUTER01' WITH
       (FAILOVER_MODE = AUTOMATIC);
    

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

PowerShell の使用

可用性レプリカのフェールオーバー モードを変更するには

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

  2. FailoverMode パラメーターを指定して Set-SqlAvailabilityReplica コマンドレットを使用します。 レプリカを自動フェールオーバーに設定するときは、AvailabilityMode パラメーターを使用して、レプリカを同期コミット可用性モードに変更しなければならない場合があります。

    たとえば、次のコマンドは、可用性グループ MyAg のレプリカ MyReplica を、同期コミット可用性モードを使用し、自動フェールオーバーをサポートするように変更します。

    Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" ` 
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\Replicas\MyReplica
    
    注意

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

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

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

関連項目

概念

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

可用性モード (AlwaysOn 可用性グループ)

フェールオーバーとフェールオーバー モード (AlwaysOn 可用性グループ)