适用于:SQL Server
本主题介绍如何在 SQL Server 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 将辅助副本加入 Always On 可用性组。 在将某一辅助副本添加到一个 Always On 可用性组后,这个辅助副本必须联接到该可用性组。
先决条件
- 该可用性组的主副本当前必须处于联机状态。
- 要加入可用性组的实例已 添加为辅助副本。
- 若要使用 SQL Server Management Studio (SSMS),必须连接到承载主副本的服务器实例。 若要使用 Transact-SQL 或 PowerShell,必须连接到次要副本并从中执行命令。
- 本地服务器实例必须能够连接到托管辅助副本的服务器实例的数据库镜像终结点。
重要
如果不满足任何先决条件,联接操作将会失败。 在联接尝试失败之后,您可能需要连接到承载主副本的服务器实例以删除并重新添加辅助副本,然后您才可以将其联接到可用性组。 有关详细信息,请参阅 从可用性组中删除辅助副本 ,并将 辅助副本添加到可用性组。
权限
要求对可用性组、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限具有 ALTER AVAILABILITY GROUP 权限。
使用 SQL Server Management Studio
将可用性副本联接到可用性组
在 对象资源管理器中,连接到承载主副本的服务器实例,并展开服务器树。
依次展开“Always On 高可用性”节点和“可用性组”节点。
选择已连接但尚未联接的辅助副本的可用性组。
右键单击辅助副本,然后选择“ 加入可用性组”。
此时会显示“ 连接到服务器 ”对话框。 选择 “连接 ”以打开“ 将副本加入可用性组 ”对话框。
若要将次要副本加入可用性组,请选择“ 确定”。
“使用 Transact-SQL”
将可用性副本联接到可用性组
连接到承载辅助副本的服务器实例。
按如下所示使用 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 提供程序中:
将目录 (cd) 更改为托管辅助副本的服务器实例。
通过使用可用性组的名称执行 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 提供程序
跟进:配置辅助数据库
对于该可用性组中的每个数据库,您在承载辅助副本的服务器实例上需要辅助数据库。 您可以在将辅助副本联接到可用性组之前或之后,按如下所述配置辅助数据库:
通过将 RESTORE WITH NORECOVERY 用于每个还原操作,将各个主数据库的最近数据库和日志备份还原到承载辅助副本的服务器实例。 有关详细信息,请参阅为可用性组手动准备辅助数据库 (SQL Server)。
将每个辅助数据库联接到可用性组。 有关详细信息,请参阅将辅助数据库联接到可用性组 (SQL Server)。