在 SQL Server 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell,可以恢复 Always On 可用性组中已挂起的可用性数据库。 恢复挂起的数据库会将数据库置于 SYNCHRONIZING 状态。 恢复主数据库还将恢复挂起主数据库时导致挂起的任何辅助数据库。 如果任何辅助数据库是从承载辅助副本的服务器实例中本地挂起的,则该辅助数据库必须进行本地恢复。 一旦给定的辅助数据库和相应的主数据库处于 SYNCHRONIZING 状态,则在辅助数据库上将恢复数据同步。
限制和局限RESUME 命令只要被承载目标数据库的副本接受后就返回,但是实际上继续数据库以异步方式发生。 先决条件- 您必须连接到承载要恢复的数据库的服务器实例。
- 可用性组必须联机。
- 主数据库必须处于联机状态且可用。
权限需要对数据库拥有 ALTER 权限。 对可用性组要求 ALTER AVAILABILITY GROUP 权限、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限。
使用 SQL Server Management Studio恢复辅助数据库 在对象资源管理器中,连接到承载要恢复的数据库所在的可用性副本的服务器实例,然后展开服务器树。 依次展开“Always On 高可用性”节点和“可用性组”节点。 展开该可用性组。 展开“可用性数据库”节点,右键单击该数据库,然后单击“恢复数据移动”。 在 “恢复数据移动” 对话框中,单击 “确定” 。
“使用 Transact-SQL”恢复本地挂起的辅助数据库 使用 PowerShell恢复辅助数据库 将目录 (cd) 更改为托管要恢复其数据库的副本的服务器实例。 使用 Resume-SqlAvailabilityDatabase cmdlet 恢复可用性组。 例如,下面的命令针对可用性组 MyDb3 中的可用性数据库 MyAg恢复数据同步。
Resume-SqlAvailabilityDatabase `
-Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\Databases\MyDb3
|