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

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

  • 作業を開始する準備: 

    前提条件

    セキュリティ

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

    SQL Server Management Studio

    Transact-SQL

    PowerShell

作業を開始する準備

前提条件

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

セキュリティ

権限

可用性グループの 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 パラメーターを指定します。

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

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

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

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

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

関連項目

概念

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

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

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