从可用性组中删除辅助副本 (SQL Server)

本主题说明如何通过在 SQL Server 2012 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 从 AlwaysOn 可用性组中删除辅助副本。

  • 开始之前: 

    限制和局限

    必备条件

    安全性

  • 若要删除辅助副本,请使用: 

    SQL Server Management Studio

    Transact-SQL

    PowerShell

  • **跟进:**在删除辅助副本之后

开始之前

限制和局限

  • 只有主副本支持该任务。

  • 从可用性组中仅可删除辅助副本。

必备条件

  • 您必须连接到承载可用性组的主副本的服务器实例。

安全性

权限

对可用性组要求 ALTER AVAILABILITY GROUP 权限、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限。

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

使用 SQL Server Management Studio

删除辅助副本

  1. 在对象资源管理器中,连接到承载主副本的服务器实例,然后展开服务器树。

  2. 依次展开**“AlwaysOn 高可用性”节点和“可用性组”**节点。

  3. 选择可用性组,然后展开**“可用性副本”**节点。

  4. 此步骤取决于您是要删除多个副本,还是只删除一个副本,如下所示:

  5. 右键单击选定的一个或多个辅助副本,然后在命令菜单中选择**“从可用性组中删除”**。

  6. 在**“从可用性组删除辅助副本”对话框中,要删除所有列出的辅助副本,请单击“确定”。 如果您不想删除所有列出的副本,请单击“取消”**。

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

使用 Transact-SQL

删除辅助副本

  1. 连接到承载主副本的服务器实例。

  2. 按如下所示使用 ALTER AVAILABILITY GROUP 语句:

    ALTER AVAILABILITY GROUP group_name REMOVE REPLICA ON 'instance_name' [,...n]

    其中,group_name 为可用性组的名称,instance_name 为该辅助副本所在的服务器实例。

    下面的示例将辅助副本从 MyAG 可用性组中删除。 目标辅助副本位于名为 COMPUTER02 的计算机上的服务器实例(名为 HADR_INSTANCE)上。

    ALTER AVAILABILITY GROUP MyAG REMOVE REPLICA ON 'COMPUTER02\HADR_INSTANCE';
    

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

使用 PowerShell

删除辅助副本

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

  2. 使用 Remove-SqlAvailabilityReplica cmdlet。

    例如,下面的命令从名为 MyAg 的可用性组中删除服务器 MyReplica 上的可用性副本。 此命令必须在承载可用性组的主副本的服务器实例上运行。

    Remove-SqlAvailabilityReplica ` 
    -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica
    
    注意注意

    若要查看 cmdlet 的语法,请在 SQL Server PowerShell 环境中使用 Get-Help cmdlet。 有关详细信息,请参阅获取 SQL Server PowerShell 帮助

设置和使用 SQL Server PowerShell 提供程序

[返回页首]

跟进:在删除辅助副本之后

如果您指定一个当前不可用的副本,则在该副本联机时,将发现该副本已被删除。

删除副本会导致它停止接收数据。 在某个辅助副本确认其已从全局存储中删除之后,该副本将从其数据库(在本地服务器实例上保留为 RECOVERING 状态)中删除可用性组设置。

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

请参阅

概念

AlwaysOn 可用性组概述 (SQL Server)

将辅助副本添加到可用性组 (SQL Server)

删除可用性组 (SQL Server)