将辅助副本联接到 Always On 可用性组

适用于:SQL Server

本主题介绍如何在 SQL Server 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 将辅助副本加入 Always On 可用性组。 在将某一辅助副本添加到一个 Always On 可用性组后,这个辅助副本必须联接到该可用性组。 该联接副本操作必须在承载辅助副本的 SQL Server 实例上执行。

先决条件

  • 该可用性组的主副本当前必须处于联机状态。
  • 您必须连接到承载尚未联接到该可用性组的辅助副本的服务器实例。
  • 本地服务器实例必须能够连接到承载主副本的服务器实例的数据库镜像端点。

重要

如果不满足任何先决条件,联接操作将会失败。 在联接尝试失败之后,您可能需要连接到承载主副本的服务器实例以删除并重新添加辅助副本,然后您才可以将其联接到可用性组。 有关详细信息,请参阅将辅助副本从可用性组删除 (SQL Server)将辅助副本添加到可用性组 (SQL Server)

权限

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

使用 SQL Server Management Studio

将可用性副本联接到可用性组

  1. 在对象资源管理器中,连接到承载辅助副本的服务器实例,然后单击服务器名称以便展开服务器树。

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

  3. 选择您连接到辅助副本的可用性组。

  4. 右键单击辅助副本,然后单击“联接到可用性组”。

  5. 这将打开 “将副本联接到可用性组” 对话框。

  6. 若要将辅助副本联接到可用性组,请单击 “确定”

“使用 Transact-SQL”

将可用性副本联接到可用性组

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

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

    ALTER AVAILABILITY GROUP group_name JOIN

    其中, group_name 是可用性组的名称。

    下面的示例将辅助副本联接到 MyAG 可用性组。

    ALTER AVAILABILITY GROUP MyAG JOIN;  
    

    注意

    若要查看此用于上下文的 Transact-SQL 语句,请参阅创建可用性组 (Transact-SQL)

使用 PowerShell

将可用性副本联接到可用性组

在 SQL Server PowerShell 提供程序中:

  1. 将目录 (cd) 更改为托管辅助副本的服务器实例。

  2. 通过使用可用性组的名称执行 Join-SqlAvailabilityGroup cmdlet,将辅助副本联接到可用性组。

    例如,以下命令将由位于指定路径的服务器实例承载的辅助副本联接到名为 MyAg的可用性组。 此服务器实例必须承载此可用性组中的辅助副本。

    Join-SqlAvailabilityGroup -Path SQLSERVER:\SQL\SecondaryServer\InstanceName -Name 'MyAg'  
    

    注意

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

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

跟进:配置辅助数据库

对于该可用性组中的每个数据库,您在承载辅助副本的服务器实例上需要辅助数据库。 您可以在将辅助副本联接到可用性组之前或之后,按如下所述配置辅助数据库:

  1. 通过将 RESTORE WITH NORECOVERY 用于每个还原操作,将各个主数据库的最近数据库和日志备份还原到承载辅助副本的服务器实例。 有关详细信息,请参阅为可用性组手动准备辅助数据库 (SQL Server)

  2. 将每个辅助数据库联接到可用性组。 有关详细信息,请参阅将辅助数据库联接到可用性组 (SQL Server)

另请参阅

创建和配置可用性组 (SQL Server)
AlwaysOn 可用性组概述 (SQL Server)
AlwaysOn 可用性组配置疑难解答 (SQL Server)