你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于: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 托管实例中的数据库进行备份,然后将其还原到 SQL Server 2022 实例。
对于 SQL Server 2016、2017 和 2019,主实例始终是 SQL Server,并且到辅助托管实例的故障转移是单向的。 不支持通过故障回复到 SQL Server 并将 SQL 托管实例设为主要实例来逆转角色。 但是,可以使用事务复制或导出 bacpac 等数据移动选项将数据恢复到 SQL Server。
重要
成功地故障转移到 SQL 托管实例后,手动将应用程序连接字符串重新指向 SQL 托管实例 FQDN,以完成故障转移过程,并继续在 Azure 中运行。
先决条件
若要使用 Azure SQL 托管实例的链接进行灾难恢复,需要满足以下先决条件:
- 一个有效的 Azure 订阅。 如果没有帐户,请创建一个免费帐户。
- 支持的 SQL Server 版本,安装了所需的服务更新。
- Azure SQL 托管实例。 入门(如果没有实例)。
- SQL Server 与 Azure SQL 托管实例之间配置的托管实例链接。
- 若要建立从 SQL 托管实例到 SQL Server 2022 的链接或在其间进行故障转移,托管实例必须配置 SQL Server 2022 更新策略。 配置了“始终保持最新”更新策略的实例不支持从 SQL 托管实例到 SQL Server 2022 的数据复制和故障转移。
- 虽然可以建立从 SQL Server 2022 到某个使用“始终保持最新”更新策略配置的 SQL 托管实例的链接,但在故障转移到 SQL 托管实例后,将再也无法复制数据或再也无法故障回复到 SQL Server 2022。
权限
对于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 | /读取、/写入、/删除 |
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 托管实例之间的混合环境中将辅助实例配置为被动实例时,混合故障转移权益才适用。 如需获得故障转移组中两个实例之间的故障转移权益,请改用故障转移权益。
新实例
若要为新实例激活“混合故障转移权益”,请执行以下步骤:
选择“+ 创建”以打开“创建 Azure SQL 托管实例”页。
在“基本信息”选项卡上,选择“计算 + 存储”下的“配置托管实例”以打开“计算 + 存储”页:
在“SQL Server 许可证”下选择“混合故障转移权限”。
勾选此框以确认您将此实例用作被动副本。
选择应用以保存所做的更改。
现有实例
若要为现有实例激活“混合故障转移权益”,请执行以下步骤:
转到 Azure 门户中的 SQL 托管实例。
在资源菜单的“设置”下,选择“计算 + 存储”。
选择“SQL Server 许可证”下的“混合故障转移权限”,然后选中用于确认你将使用此实例作为被动副本的复选框:
选择应用以保存所做的更改。
限制
以下功能仅在 SQL Server 2022 和采用 SQL Server 2022 更新策略的 SQL 托管实例之间受支持:
- 建立从 SQL 托管实例到 SQL Server 的链接。
- 从 SQL 托管实例故障转移到 SQL Server 2022。
虽然可以建立从 SQL Server 2022 到某个使用“始终保持最新”更新策略配置的 SQL 托管实例的链接,但在故障转移到 SQL 托管实例后,将再也无法复制数据或再也无法故障回复到 SQL Server 2022。
相关内容
要使用该链接,请参阅以下内容:
- 为托管实例链接准备环境
- 使用 SSMS 配置 SQL Server 与 SQL 托管实例之间的链接
- 使用脚本配置 SQL Server 与 SQL 托管实例之间的链接
- 对链接进行故障转移
- 使用链接进行迁移
- 维护链接 的最佳做法
- 排查链接问题
要了解有关链接的详细信息,请:
对于其他复制和迁移方案,请考虑: