Always On 可用性グループ内のレプリカのフェールオーバー モードの変更Change the failover mode for 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の Always On 可用性グループでの可用性レプリカのフェールオーバー モードを変更する方法について説明します。This topic describes how to change the failover 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 failover mode is a replica property that determines the failover mode for replicas that run under synchronous-commit availability mode. 詳細については、「 フェールオーバーとフェールオーバー モード (Always On 可用性グループ) 」および「 可用性モード (Always On 可用性グループ)」を参照してください。For more information, see Failover and Failover Modes (Always On Availability Groups) and Availability Modes (Always On Availability Groups).

前提条件と制限Prerequisites and Restrictions

  • このタスクは、プライマリ レプリカ上でのみサポートされます。This task is supported only on primary replicas. プライマリ レプリカをホストするサーバー インスタンスに接続されている必要があります。You must be connected to the server instance that hosts the primary replica.

  • SQL Server フェールオーバー クラスター インスタンス (FCI) は可用性グループによる自動フェールオーバーをサポートしないため、FCI によってホストされる可用性レプリカは手動フェールオーバー用にのみ構成できます。SQL Server Failover Cluster Instances (FCIs) do not support automatic failover by availability groups, so any availability replica that is hosted by an FCI can only be configured for manual failover.

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 failover mode of an availability replica

  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 Failover mode drop list to change the failover mode of this replica.

Transact-SQL の使用Using Transact-SQL

可用性レプリカのフェールオーバー モードを変更するにはTo change the failover mode of an availability replica

  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*'  
   WITH ( {  
        AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }
           | FAILOVER_MODE = { AUTOMATIC | MANUAL }
         }  )

前述のスクリプトでは、In the preceding script:

  - <span data-ttu-id="8f019-125">*group_name* は、可用性グループの名前です。</span><span class="sxs-lookup"><span data-stu-id="8f019-125">*group_name* is the name of the availability group.</span></span>  

  - <span data-ttu-id="8f019-126">*server_name* はコンピューター名またはフェールオーバー クラスターのネットワーク名です。</span><span class="sxs-lookup"><span data-stu-id="8f019-126">*server_name* is either the computer name or the failover cluster network name.</span></span> <span data-ttu-id="8f019-127">名前付きインスタンスの場合は、\`\instance_name' を追加します。</span><span class="sxs-lookup"><span data-stu-id="8f019-127">For named instances add \`\instance_name'.</span></span> <span data-ttu-id="8f019-128">変更するレプリカをホストする名前を使用します。</span><span class="sxs-lookup"><span data-stu-id="8f019-128">Use the name that hosts the replica that you want to modify.</span></span>

これらのパラメーターの詳細については、「ALTER AVAILABILITY GROUP (Transact-SQL)」を参照してください。For more information about these parameters, see ALTER AVAILABILITY GROUP (Transact-SQL).

次の例は、 MyAG 可用性グループのプライマリ レプリカで実行すると、 COMPUTER01という名前のコンピューター上の既定のサーバー インスタンスにある可用性レプリカで、フェールオーバー モードが自動フェールオーバーに変更されます。The following example, entered on the primary replica of the MyAG availability group, changes the failover mode to automatic failover on the availability replica that is located on the default server instance on a computer named COMPUTER01.

```  
ALTER AVAILABILITY GROUP MyAG MODIFY REPLICA ON 'COMPUTER01' WITH  
   (FAILOVER_MODE = AUTOMATIC);  
```  

PowerShell の使用Using PowerShell

可用性レプリカのフェールオーバー モードを変更するにはTo change the failover mode of an availability replica

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

  2. FailoverMode パラメーターを指定して Set-SqlAvailabilityReplica コマンドレットを使用します。Use the Set-SqlAvailabilityReplica cmdlet with the FailoverMode parameter. レプリカを自動フェールオーバーに設定するときは、 AvailabilityMode パラメーターを使用して、レプリカを同期コミット可用性モードに変更しなければならない場合があります。When setting a replica to automatic failover, you might need to use the AvailabilityMode parameter to change the replica to synchronous-commit availability mode.

    たとえば、次のコマンドは、可用性グループ 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\Replicas\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)