Compartir a través de

使用托管实例链接进行灾难恢复 - Azure SQL 托管实例

适用于:Azure SQL 托管实例

本文介绍如何使用托管实例链接在任意位置托管的 SQL Server 与 Azure SQL 托管实例之间配置混合灾难恢复解决方案,以及如何通过在免许可证的 DR 副本上激活混合故障转移来节省许可成本。

概述

使用托管实例链接可进行灾难恢复,在发生灾难时,可以手动将工作负载从主数据库故障转移到辅助数据库。

使用 SQL Server 2022 时,SQL Server 或 Azure SQL 托管实例可以是主数据库,并且最初可以从 SQL Server 或 SQL 托管实例建立链接。 可以根据需要在 SQL Server 和 Azure SQL 托管实例之间沿任一方向进行故障转移。

故障回复到 SQL Server 2022 时,可以选择以下故障回复方式:

显示灾难恢复方案的示意图。

使用 SQL Server 2016 和 SQL Server 2019 时,主数据库始终是 SQL Server,并且故障转移至辅助托管实例的过程是单向的。 不支持通过故障回复到 SQL Server 和将 SQL 托管实例设置为主实例来扭转角色。 但是,可以使用事务复制导出 bacpac 等数据移动选项将数据恢复到 SQL Server。

重要

成功故障转移到 SQL 托管实例后,手动将应用程序连接字符串重新指向 SQL 托管实例 FQDN,以完成故障转移过程,并继续在 Azure 中运行。

先决条件

若要使用 Azure SQL 托管实例的链接进行灾难恢复,需要满足以下先决条件:

权限

对于SQL Server,应具有 sysadmin 权限。

对于 Azure SQL 托管实例,你应是 SQL 托管实例参与者的一位成员,或具有自定义角色的以下权限:

Microsoft.Sql/ 资源 必要的权限
Microsoft.Sql/managedInstances /read、/write
Microsoft.Sql/managedInstances/hybridCertificate /action
Microsoft.Sql/managedInstances/databases /read、/delete、/write、/completeRestore/action、/readBackups/action、/restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read、/write、/delete、/setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /read
Microsoft.Sql/managedInstances/hybridLink /read、/write、/delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write、/delete、/read

单向故障转移 (SQL Server 2016 - 2022)

对于 SQL Server 2016 和 SQL Server 2019,从 SQL Server 故障转移至 Azure SQL 托管实例的过程是单向的。 无法故障回复或将数据库还原到 SQL Server。 但是,可以使用事务复制导出 bacpac 等数据移动选项将数据恢复回 SQL Server。 故障转移至 Azure SQL 托管实例时,会断开链接并删除分布式可用性组。

使用 SQL Server 2022 时,可以选择通过在故障转移过程中断开链接来执行单向故障转移,例如迁移。 故障转移 SQL Server 2022 数据库时,请务必为企业选择适当的选项。

若要进行故障转移,请查看故障转移链接

双向故障转移 (SQL Server 2022)

SQL Server 2022 引入了具有故障回复功能的联机故障转移,使你能够无缝地故障转移至 Azure SQL 托管实例,然后使用托管实例链接联机故障回复到 SQL Server,同时最大程度地缩短停机时间。

若要进行故障转移,请查看故障转移链接

脱机故障回复 (SQL Server 2022)

使用 SQL Server 2022 时,在灾难得到缓解后,可以选择从 SQL 托管实例脱机故障回复到 SQL Server,方法是在托管实例上备份数据库,然后将其还原到 SQL Server。 此选项已正式发布。

若要开始使用,请参阅将数据库还原到 SQL Server 2022

无许可证被动 DR 副本

当被动辅助 SQL 托管实例仅用于灾难恢复时,可以通过激活混合故障转移权益来节省许可成本。 可以为新实例和现有实例激活混合故障转移权益

注意

仅当你在 SQL Server 和 SQL 托管实例之间的混合环境中将辅助实例配置为被动实例时,混合故障转移权益才适用。 如需获得故障转移组中的两个实例之间的故障转移权益,请改为使用故障转移权益

新实例

要激活新实例的混合故障转移权益,请执行以下步骤:

  1. Azure 门户中,转到“SQL 托管实例”页。

  2. 选择“+ 创建”以打开“创建 Azure SQL 托管实例”页。

  3. 在“基本信息”选项卡上,选择“计算 + 存储”下的“配置托管实例”以打开“计算 + 存储”页:

    在 Azure 门户中创建新托管实例的屏幕截图,其中选中了“配置托管实例”。

  4. 在“SQL Server 许可证”下选择“混合故障转移权限”

  5. 选中对应框以确认将此实例用作被动副本。

  6. 选择应用以保存所做的更改。

现有实例

要激活现有实例的混合故障转移权益,请执行以下步骤:

  1. 转到 Azure 门户中的 SQL 托管实例

  2. 在资源菜单的“设置”下,选择“计算 + 存储”

  3. 在“SQL Server 许可证”下选择“混合故障转移权限”,然后选中对应框以确认将此实例用作被动副本:

    Azure 门户中托管实例的计算和存储页面的屏幕截图,其中突出显示了混合故障转移权限。

  4. 选择应用以保存所做的更改。

要使用该链接,请参阅以下内容:

要了解有关链接的详细信息,请:

对于其他复制和迁移方案,请考虑: