Always On 可用性グループ内のレプリカのフェールオーバー モードの変更

適用対象:SQL Server

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

前提条件と制限

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

  • 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 は、可用性グループの名前です。

    • server_name はコンピューター名またはフェールオーバー クラスターのネットワーク名です。 名前付きインスタンスの場合は、`\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 パラメーターを使用して、レプリカを同期コミット可用性モードに変更しなければならない場合があります。

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

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

    注意

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

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

参照

Always On 可用性グループの概要 (SQL Server)
可用性モード (AlwaysOn 可用性グループ)
フェールオーバーとフェールオーバー モード (AlwaysOn 可用性グループ)