将次要副本添加到 AlwaysOn 可用性组

适用于:SQL Server

本主题描述了如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 中的 PowerShell 将次要副本添加到现有 AlwaysOn 可用性组。

先决条件和限制

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

有关详细信息,请参阅针对 AlwaysOn 可用性组的先决条件、限制和建议 (SQL Server)

安全性

权限

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

期待您的反馈 :如果在本文中发现过时或不正确的内容(如步骤或代码示例),请告诉我们。 可以单击此页底部的“反馈” 部分中的“本页” 按钮。 我们通常在第二天阅读有关 SQL 的每项反馈。 谢谢。

使用 SQL Server Management Studio

添加副本

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

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

  3. 右键单击可用性组,然后选择下列命令之一:

    • 选择 “添加副本” 命令可启动“将副本添加到可用性组向导”。 有关详细信息,请参阅使用“将副本添加到可用性组向导”(SQL Server Management Studio)

    • 或者,选择 “属性” 命令以便打开 “可用性组属性” 对话框。 用于在此对话框中添加副本的步骤如下所示:

      1. 在对话框的 “可用性副本” 窗格中,单击 “添加” 按钮。 这将创建并选择已选中了空白“服务器实例”字段的副本项。

      2. 输入符合用于承载可用性副本的先决条件的服务器实例的名称。

      若要添加其他副本,请重复前面的步骤。 当您指定完副本后,单击 “确定” 以完成此操作。

“使用 Transact-SQL”

添加副本

  1. 连接到承载主副本的 SQL Server 实例。

  2. 通过使用 ALTER AVAILABILITY GROUP 语句的 ADD REPLICA ON 子句将新辅助副本添加到可用性组。 在 ADD REPLICA ON 子句中,ENDPOINT_URL、AVAILABILITY_MODE 和 FAILOVER_MODE 选项是必需的。 其他副本选项(BACKUP_PRIORITY、SECONDARY_ROLE、PRIMARY_ROLE 和 SESSION_TIMEOUT)是可选的。 有关详细信息,请参阅 ALTER AVAILABILITY GROUP (Transact-SQL)

    例如,下面的 Transact-SQL 语句将在 MyAG 承载的默认服务器实例(其端点 URL 为 COMPUTER04)上创建名为 TCP://COMPUTER04.Adventure-Works.com:5022' 的可用性组的新副本。 此副本支持手动故障转移和异步提交可用性模式。

    ALTER AVAILABILITY GROUP MyAG ADD REPLICA ON 'COMPUTER04'   
       WITH (  
             ENDPOINT_URL = 'TCP://COMPUTER04.Adventure-Works.com:5022',  
             AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,  
             FAILOVER_MODE = MANUAL  
             );  
    

使用 PowerShell

添加副本

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

  2. 使用 New-SqlAvailabilityReplica cmdlet。

    例如,下面的命令将可用性副本添加到名为 MyAg的现有可用性组中。 此副本支持手动故障转移和异步提交可用性模式。 在辅助角色中,此副本将支持读访问连接,使您可以将只读处理转移到此副本。

    $agPath = "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"  
    $endpointURL = "TCP://PrimaryServerName.domain.com:5022"  
    $failoverMode = "Manual"  
    $availabilityMode = "AsynchronousCommit"  
    $secondaryReadMode = "AllowAllConnections"  
    
    New-SqlAvailabilityReplica -Name SecondaryServer\Instance `
    -EndpointUrl $endpointURL `
    -FailoverMode $failoverMode `
    -AvailabilityMode $availabilityMode `
    -ConnectionModeInSecondaryRole $secondaryReadMode `
    -Path $agPath
    

    备注

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

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

跟进:在添加辅助副本之后

若要为现有可用性组添加副本,您必须执行以下步骤:

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

  2. 将新的辅助副本联接到可用性组。 有关详细信息,请参阅将辅助副本联接到可用性组 (SQL Server)

  3. 对于可用性组中的每个数据库,在承载辅助副本的服务器实例上创建辅助数据库。 有关详细信息,请参阅为可用性组手动准备辅助数据库 (SQL Server)

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

Related Tasks

管理可用性副本

另请参阅

更改可用性组 (Transact-SQL)
AlwaysOn 可用性组概述 (SQL Server)
创建和配置可用性组 (SQL Server)
使用 AlwaysOn 仪表板 (SQL Server Management Studio)
监视可用性组 (Transact-SQL)