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

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

  • 开始之前: 

    先决条件和限制

    安全性

  • 要添加副本,请使用: 

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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

开始之前

我们强烈建议您首先阅读此部分,再尝试创建您的第一个可用性组。

先决条件和限制

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

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

安全性

权限

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

使用 SQL Server Management Studio

添加副本

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

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

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

    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 的语法,请在 SQL Server PowerShell 环境中使用 Get-Help cmdlet。 有关详细信息,请参阅获取 SQL Server PowerShell 帮助

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

[返回页首]

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

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

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

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

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

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

[返回页首]

相关任务

管理可用性副本

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

请参阅

参考

ALTER AVAILABILITY GROUP (Transact-SQL)

概念

AlwaysOn 可用性组概述 (SQL Server)

创建和配置可用性组 (SQL Server)

使用 AlwaysOn 面板 (SQL Server Management Studio)

监视可用性组 (Transact-SQL)