Always On 可用性グループ内のレプリカの可用性モードの変更Change the availability mode of a replica within an Always On availability group

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このトピックでは、 SQL Server 2017SQL Server 2017SQL Server Management StudioSQL Server Management Studio、または PowerShell を使用して、 Transact-SQLTransact-SQLの AlwaysOn 可用性グループでの可用性レプリカの可用性モードを変更する方法について説明します。This topic describes how to change the availability mode of an availability replica in an Always On availability group in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell. 可用性モードは、レプリカによるコミットが非同期か同期かを制御するレプリカ プロパティです。The availability mode is a replica property that controls the whether the replica commits asynchronously or synchronously. 非同期コミット モード は、高可用性を犠牲にしてパフォーマンスを最大限に高めるものであり、 強制フェールオーバーと通常呼ばれる強制手動フェールオーバー (データ損失の可能性あり) のみをサポートしています。Asynchronous-commit mode maximizes performance at the expense of high availability and supports only forced manual failover (with possible data loss), typically called forced failover. 同期コミット モード は、パフォーマンスよりも高可用性を重視し、セカンダリ レプリカの同期後は手動でのフェールオーバーをサポートします (必要に応じて、自動フェールオーバーもサポートします)。Synchronous-commit mode emphasizes high availability over performance and, once the secondary replica is synchronized, supports manual failover and, optionally, automatic failover.

前提条件Prerequisites

プライマリ レプリカをホストするサーバー インスタンスに接続されている必要があります。You must be connected to the server instance that hosts the primary replica.

PermissionsPermissions

可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

SQL Server Management Studio の使用Using SQL Server Management Studio

可用性グループの可用性モードを変更するにはTo change the availability mode of an availability group

  1. オブジェクト エクスプローラーで、プライマリ レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。In Object Explorer, connect to the server instance that hosts the primary replica, and expand the server tree.

  2. [AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。Expand the Always On High Availability node and the Availability Groups node.

  3. 変更するレプリカが含まれる可用性グループをクリックします。Click the availability group whose replica you want to change.

  4. レプリカを右クリックし、 [プロパティ] をクリックします。Right-click the replica, and click Properties.

  5. [可用性レプリカ プロパティ] ダイアログ ボックスで [可用性モード] ボックスの一覧を使用して、このレプリカの可用性モードを変更します。In the Availability Replica Properties dialog box, use the Availability mode drop list to change the availability mode of this replica.

Transact-SQL の使用Using Transact-SQL

可用性グループの可用性モードを変更するにはTo change the availability mode of an availability group

  1. プライマリ レプリカをホストするサーバー インスタンスに接続します。Connect to the server instance that hosts the primary replica.

  2. ALTER AVAILABILITY GROUP ステートメントを使用します。次にその例を示します。Use the ALTER AVAILABILITY GROUP statement, as follows:

    ALTER AVAILABILITY GROUP group_name MODIFY REPLICA ON 'server_name'ALTER AVAILABILITY GROUP group_name MODIFY REPLICA ON 'server_name'

    WITH ( {WITH ( {

    AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }

    | FAILOVER_MODE = { AUTOMATIC | MANUAL }| FAILOVER_MODE = { AUTOMATIC | MANUAL }

    } )} )

    group_name の部分には、可用性グループの名前を指定します。 server_name の部分には、変更するレプリカがホストされているサーバー インスタンスの名前を指定します。where group_name is the name of the availability group and server_name is the name of the server instance that hosts the replica to be modified.

    注意

    FAILOVER_MODE = AUTOMATIC は、AVAILABILITY_MODE = SYNCHRONOUS_COMMIT も指定した場合にのみサポートされます。FAILOVER_MODE = AUTOMATIC is supported only if you also specify AVAILABILITY_MODE = SYNCHRONOUS_COMMIT.

    次の例は、 AccountsAG 可用性グループのプライマリ レプリカに入力すると、 INSTANCE09 サーバー インスタンスでホストされるレプリカの可用性モードを同期コミット、フェールオーバー モードを自動フェールオーバーに変更します。The following example, entered on the primary replica of the AccountsAG availability group, changes the availability and failover modes to synchronous commit and automatic failover, respectively, for the replica hosted by the INSTANCE09 server instance.

    
    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 の使用Using PowerShell

可用性グループの可用性モードを変更するにはTo change the availability mode of an availability group

  1. プライマリ レプリカをホストするサーバー インスタンスにディレクトリを変更 (cd) します 。Change directory (cd) to the server instance that hosts the primary replica.

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

    たとえば、次のコマンドは、可用性グループ MyReplica のレプリカ MyAg を、同期コミット可用性モードを使用し、自動フェールオーバーをサポートするように変更します。For example, the following command modifies the replica MyReplica in the availability group MyAg to use synchronous-commit availability mode and to support automatic failover.

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

    注意

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL ServerSQL Server コマンドレットを使用します。To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. 詳細については、「 Get Help SQL Server PowerShell」を参照してください。For more information, see Get Help SQL Server PowerShell.

SQL Server PowerShell プロバイダーを設定して使用するにはTo set up and use the SQL Server PowerShell provider

参照See Also

AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
可用性モード (AlwaysOn 可用性グループ) Availability Modes (Always On Availability Groups)
フェールオーバーとフェールオーバー モード (Always On 可用性グループ)Failover and Failover Modes (Always On Availability Groups)