可用性レプリカの可用性モードの変更 (SQL Server)

このトピックでは、SQL Server Management Studio、Transact-SQL、または PowerShell を使用して、SQL Server 2014 の 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 group_name MODIFY REPLICA ON 'server_name'

    WITH ( {

    AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }

    | FAILOVER_MODE = { AUTOMATIC | MANUAL }

    } )

    ここで、group_nameは可用性グループの名前、server_nameは変更するレプリカをホストするサーバー インスタンスの名前です。

    注意

    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  
    

    注意

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

SQL Server PowerShell プロバイダーを設定して使用するには、「SQL Server PowerShell プロバイダー」を参照してください。

参照

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