本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 更改 SQL Server 2014 中 AlwaysOn 可用性组中可用性副本的可用性模式。 可用性模式是一个副本属性,用于控制以异步还是同步方式提交副本。 异步提交模式可使性能最大化,但要牺牲高可用性;它仅支持强制手动故障转移(有可能丢失数据),该故障转移一般称为强制故障转移。 同步提交模式 更多地强调高可用性而不是性能,并且一旦同步次要副本,即支持手动故障转移(也可以支持自动故障转移)。
在您开始之前
先决条件
- 您必须连接到承载主副本的服务器实例。
安全
权限
对可用性组要求 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 = { 自动 | 手动 }
} )
其中 group_name 是可用性组的名称, server_name 是承载要修改的副本的服务器实例的名称。
注释
只有在同时指定 AVAILABILITY_MODE = SYNCHRONOUS_COMMIT 时,才支持 FAILOVER_MODE = AUTOMATIC。
在
AccountsAG可用性组的主副本上输入的以下示例,针对INSTANCE09服务器实例承载的副本,将可用性模式和故障转移模式分别更改为同步提交和自动故障转移。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
更改可用性组的可用性模式
将目录 (
cd) 更改为承载主副本的服务器实例。使用
Set-SqlAvailabilityReplicacmdlet 时搭配AvailabilityMode参数,FailoverMode参数为可选。例如,以下命令将修改可用性组
MyReplica中的副本MyAg以使用同步提交可用性模式和支持自动故障转移。Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica注释
若要查看 cmdlet 的语法,请使用
Get-HelpSQL Server PowerShell 环境中的 cmdlet。 有关详细信息,请参阅 Get Help SQL Server PowerShell。
若要设置和使用 SQL Server PowerShell 提供程序,请参阅 SQL Server PowerShell 提供程序。
另请参阅
AlwaysOn 可用性组概述 (SQL Server)
可用性模式 (AlwaysOn 可用性组)
故障转移和故障转移模式(AlwaysOn 可用性组)