更改可用性副本的故障转移模式 (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

更改可用性副本的故障转移模式

  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 为可用性组的名称。

    • { '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

更改可用性副本的故障转移模式

  1. 将目录 (cd) 更改为承载主副本的服务器实例。

  2. 使用 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 提供程序

用于“返回首页”链接的箭头图标[返回页首]

请参阅

概念

AlwaysOn 可用性组概述 (SQL Server)

可用性模式(AlwaysOn 可用性组)

故障转移和故障转移模式(AlwaysOn 可用性组)