Always On 可用性グループ内のレプリカの可用性モードを変更する

適用対象:SQL Server

このトピックでは、SQL Server、SQL Server Management Studio、または PowerShell を使用して、Transact-SQL の AlwaysOn 可用性グループでの可用性レプリカの可用性モードを変更する方法について説明します。 可用性モードは、レプリカによるコミットが非同期か同期かを制御するレプリカ プロパティです。 非同期コミット モード は、高可用性を犠牲にしてパフォーマンスを最大限に高めるものであり、 強制フェールオーバーと通常呼ばれる強制手動フェールオーバー (データ損失の可能性あり) のみをサポートしています。 同期コミット モード は、パフォーマンスよりも高可用性を重視し、セカンダリ レプリカの同期後は手動でのフェールオーバーをサポートします (必要に応じて、自動フェールオーバーもサポートします)。

前提条件

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

アクセス許可

可用性グループの 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 [<availability_group_name>] MODIFY REPLICA ON '*server_name*'  
    WITH ( AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT)
    
    ALTER AVAILABILITY GROUP [<availability_group_name>] MODIFY REPLICA ON '*server_name*'  
    WITH ( FAILOVER_MODE = MANUAL );  
    

    group_name の部分には、可用性グループの名前を指定します。server_name の部分には、変更するレプリカがホストされているサーバー インスタンスの名前を指定します。

    Note

    FAILOVER_MODE = AUTOMATIC は、AVAILABILITY_MODE = SYNCHRONOUS_COMMIT も指定する場合にのみサポートされます。

    次の例は、 AccountsAG 可用性グループのプライマリ レプリカに入力すると、 INSTANCE09 サーバー インスタンスでホストされるレプリカの可用性モードを同期コミット、フェールオーバー モードを自動フェールオーバーに変更します。

    ALTER AVAILABILITY GROUP AccountsAG MODIFY REPLICA ON 'INSTANCE09'  
       WITH (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT);  
    ALTER AVAILABILITY GROUP AccountsAG MODIFY REPLICA ON 'INSTANCE09'  
       WITH (FAILOVER_MODE = AUTOMATIC);  
    

PowerShell の使用

可用性グループの可用性モードを変更するには

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

  2. Set-SqlAvailabilityReplica コマンドレットを、 AvailabilityMode パラメーターを指定して、また必要に応じて、 FailoverMode パラメーターを指定して使用します。

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

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

    注意

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

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

参照

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