更改可用性副本的可用性模式 (SQL Server)
本主题介绍如何通过使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 来更改 SQL Server 2012 中 AlwaysOn 可用性组的可用性副本的可用性模式。 可用性模式是一个副本属性,用于控制以异步还是同步方式提交副本。 “异步提交模式”可使性能最大化,但要牺牲高可用性;它仅支持强制手动故障转移(有可能丢失数据),该故障转移一般称为“强制故障转移”。 “同步提交模式”更多地强调高可用性而不是性能,并且一旦同步辅助副本,即支持手动故障转移(也可以支持自动故障转移)。
开始之前:
必备条件
安全性
若要更改可用性副本的可用性模式,可使用:
SQL Server Management Studio
Transact-SQL
PowerShell
开始之前
必备条件
- 您必须连接到承载主副本的服务器实例。
安全性
权限
对可用性组要求 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 为可用性组的名称,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-SqlAvailabilityReplica cmdlet 和 AvailabilityMode 参数,以及可选的 FailoverMode 参数。
例如,以下命令将修改可用性组 MyAg 中的副本 MyReplica 以使用同步提交可用性模式和支持自动故障转移。
Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode "Automatic" ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica
注意 若要查看 cmdlet 的语法,请在 SQL Server PowerShell 环境中使用 Get-Help cmdlet。 有关详细信息,请参阅获取 SQL Server PowerShell 帮助。
设置和使用 SQL Server PowerShell 提供程序
[返回页首]