title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | helpviewer_keywords | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Change replica failover mode for an availability group |
Describes how to change the failover mode for a replica within an Always On availability group using Transact-SQL (T-SQL), PowerShell, or SQL Server Management Studio. |
MashaMSFT |
mathoma |
06/30/2020 |
sql |
availability-groups |
how-to |
|
[!INCLUDE SQL Server] This topic describes how to change the failover mode of an availability replica in an Always On availability group in [!INCLUDEssnoverison] by using [!INCLUDEssManStudioFull], [!INCLUDEtsql], or PowerShell. The failover mode is a replica property that determines the failover mode for replicas that run under synchronous-commit availability mode. For more information, see Failover and Failover Modes (Always On Availability Groups) and Availability Modes (Always On Availability Groups).
-
This task is supported only on primary replicas. You must be connected to the server instance that hosts the primary replica.
-
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.
Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.
To change the failover mode of an availability replica
-
In Object Explorer, connect to the server instance that hosts the primary replica, and expand the server tree.
-
Expand the Always On High Availability node and the Availability Groups node.
-
Click the availability group whose replica you want to change.
-
Right-click the replica, and click Properties.
-
In the Availability Replica Properties dialog box, use the Failover mode drop list to change the failover mode of this replica.
To change the failover mode of an availability replica
-
Connect to the server instance that hosts the primary replica.
-
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:
-
group_name is the name of the availability group.
-
server_name is either the computer name or the failover cluster network name. For named instances add `\instance_name'. Use the name that hosts the replica that you want to modify.
-
For more information about these parameters, see ALTER AVAILABILITY GROUP (Transact-SQL).
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);
To change the failover mode of an availability replica
-
Change directory (cd) to the server instance that hosts the primary replica.
-
Use the Set-SqlAvailabilityReplica cmdlet with the FailoverMode parameter. When setting a replica to automatic failover, you might need to use the AvailabilityMode parameter to change the replica to synchronous-commit availability mode.
For example, the following command modifies the replica
MyReplica
in the availability groupMyAg
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
[!NOTE]
To view the syntax of a cmdlet, use the Get-Help cmdlet in the [!INCLUDEssNoVersion] PowerShell environment. For more information, see Get Help SQL Server PowerShell.
To set up and use the SQL Server PowerShell provider
Overview of Always On Availability Groups (SQL Server)
Availability Modes (Always On Availability Groups)
Failover and Failover Modes (Always On Availability Groups)