更改可用性副本的故障转移模式 (SQL Server)
本主题说明如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 更改 SQL Server 2012 中 AlwaysOn 可用性组的可用性副本的故障转移模式。 故障转移模式是一个副本属性,用于确定在同步提交可用性模式下运行的副本的故障转移模式。 有关详细信息,请参阅故障转移和故障转移模式(AlwaysOn 可用性组)和可用性模式(AlwaysOn 可用性组)。
开始之前:
先决条件和限制
安全性
若要更改可用性副本的可用性模式,请使用:
SQL Server Management Studio
Transact-SQL
PowerShell
开始之前
先决条件和限制
只有主副本支持该任务。 您必须连接到承载主副本的服务器实例。
SQL Server 故障转移群集实例 (FCI) 不支持通过可用性组来自动进行故障转移,因此,只能为手动故障转移配置任何由 FCI 承载的可用性副本。
安全性
权限
对可用性组要求 ALTER AVAILABILITY GROUP 权限、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限。
[返回页首]
使用 SQL Server Management Studio
更改可用性副本的故障转移模式
在对象资源管理器中,连接到承载主副本的服务器实例,然后展开服务器树。
依次展开**“AlwaysOn 高可用性”节点和“可用性组”**节点。
单击要更改其副本的可用性组。
右键单击该副本,然后单击**“属性”**。
在**“可用性副本属性”对话框中,使用“故障转移模式”**下拉列表更改此副本的故障转移模式。
[返回页首]
使用 Transact-SQL
更改可用性副本的故障转移模式
连接到承载主副本的服务器实例。
按如下所示使用 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 为可用性组的名称。
{ 'system_name[\instance_name]' |'FCI_network_name[\instance_name]' }
指定承载要更改的可用性副本的 SQL Server 实例的地址。 此地址由以下部分组成:
system_name
为独立服务器实例所在的计算机系统的 NetBIOS 名称。FCI_network_name
为用于访问 SQL Server 故障转移群集的网络名称,在此群集中目标服务器实例为 SQL Server 故障转移伙伴 (FCI)。instance_name
为承载目标可用性副本的 SQL Server 实例的名称。 对于默认服务器实例,instance_name 是可选的。
有关这些参数的详细信息,请参阅 ALTER AVAILABILITY GROUP (Transact-SQL)。
以下示例(在 MyAG 可用性组的主副本上输入)在可用性副本上(位于名为 COMPUTER01 的计算机的默认服务器实例上)将故障转移模式更改为自动故障转移。
ALTER AVAILABILITY GROUP MyAG MODIFY REPLICA ON 'COMPUTER01' WITH (FAILOVER_MODE = AUTOMATIC);
[返回页首]
使用 PowerShell
更改可用性副本的故障转移模式
将目录 (cd) 更改为承载主副本的服务器实例。
使用 Set-SqlAvailabilityReplica cmdlet 以及 FailoverMode 参数。 在将某一副本设置为自动故障转移时,您可能需要使用 AvailabilityMode 参数将该副本更改为同步提交可用性模式。
例如,以下命令将修改可用性组 MyAg 中的副本 MyReplica 以使用同步提交可用性模式和支持自动故障转移。
Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\Replicas\MyReplica
注意 若要查看 cmdlet 的语法,请在 SQL Server PowerShell 环境中使用 Get-Help cmdlet。 有关详细信息,请参阅获取 SQL Server PowerShell 帮助。
设置和使用 SQL Server PowerShell 提供程序
[返回页首]