applies to:SQL Server
本文介绍如何在 Azure Arc 启用的 SQL Server 实例中,通过 Azure 门户将其迁移到 Azure SQL 托管实例。
注释
可以直接向 产品组提供有关迁移体验的反馈。
概述
Azure SQL 托管实例 是一个完全托管的迁移和转换平台即服务(PaaS模式)解决方案,用于在 Azure 云平台上运行 SQL Server 工作负载。 Azure Arc启用SQL Server实例后,可以评估SQL Server数据资产以确定最佳SQL 托管实例配置。 然后,可以直接从Azure门户将SQL Server数据库迁移到SQL 托管实例。
当您的 SQL Server 实例通过 Azure Arc 启用时,您可以:
- 评估和评估SQL Server实例是否已准备好迁移到SQL 托管实例。
- 确定潜在的迁移问题,并了解如何缓解这些问题。
- 通过有关服务层级、配置和大小调整的指导优化性能和成本。
每个周末都会自动对SQL Server实例进行发现并生成就绪报告,但你可以随时手动启动它们。 此过程只需几分钟才能完成。 无需额外的配置或设置。
首先,选择适当的SQL 托管实例目标并准备环境。 然后,可以通过完全托管和自动化的过程,将SQL Server数据库从 Azure 门户直接迁移到SQL 托管实例。
从 SQL Server 2012(11.x)开始,Azure Arc启用的所有SQL Server实例默认可以使用数据库迁移。
“ 数据库迁移 ”窗格还包含实例的迁移状态的有用摘要,例如数据库总数、建议的目标数、已完成的迁移数和正在进行的迁移数:
集成迁移方法
在 “数据库迁移 ”窗格中选择最符合需求的迁移方法。 在完成初始环境配置后,迁移过程会根据您的选择自动化进行其余步骤。
Microsoft Copilot可以根据要求帮助你选择正确的迁移方法。
下表总结了迁移过程中内置的两种方法:
| 托管实例链接 | 日志重播服务 (LRS) | |
|---|---|---|
| 方法 | 实时复制
|
连续备份和还原
|
| 基础技术 | 分布式可用性组 | 日志传送 |
| 说明 | 具有近实时复制的最高性能方法。 在目标上提供只读(R/O)数据库,以便在迁移期间以近乎实时的方式查询数据,以卸载辅助服务器上的 R/O 工作负荷,或在迁移期间检查数据。 最佳可能的最短停机时间迁移。 | 最兼容的迁移方法。 将备份上传到一个中介的 Azure Blob 存储帐户,该账户的备份由 LRS 服务持续自动还原到 SQL 托管实例。 目标上没有可用的 R/O 数据库副本。 |
| 支持的版本 | SQL Server 2016 及更高版本Windows Server 2016及更高版本 | SQL Server 2012 及更高版本Windows Server 2012及更高版本 |
| 支持的版本 | 企业版、标准版和开发人员版 | 所有版本 |
| 同时迁移 | 是的,最多 10 个具有 Azure 扩展的数据库,适用于 SQL Server 版本 1.1.3348.364 或更高版本。 1 个具有早期版本的数据库。 |
无限制 |
| 推荐用于 | 迁移期间需要最短停机时间的业务关键负载,以及在目标上访问只读数据库,目标为“常规用途型”或“业务关键型”SQL 托管实例。 | 常规用途工作负荷,其中一些计划内停机是可接受的,也是常规用途SQL 托管实例的目标。 不建议用于业务关键 SQL 托管实例目标。 |
有关这两种迁移方法的深入比较,请参阅 将受管实例链接与 LRS 进行迁移的比较。
Microsoft Copilot辅助迁移
Microsoft Copilot内置于体验中,可在整个迁移过程中为你提供帮助。 通过在Microsoft知识库中进行查询,与Microsoft Copilot进行互动聊天,以在你迁移到Azure的过程中提供帮助。
Microsoft Copilot提供 AI 支持的帮助,帮助你在某些时间点做出决策或采取操作,并出现以下提示:
- 如何进行评估?
- 帮我比较。
- 开始迁移。
- 帮助我选择正确的迁移方法。
- 监视迁移。
- 完成迁移。
在 Database 迁移窗格中选择 Copilot 图标,打开Copilot聊天窗口:
先决条件
若要在Azure Arc中使用SQL Server迁移,需要满足以下先决条件:
- 活动的 Azure 订阅。 如果没有帐户,可以 创建一个免费帐户。
- SQL Server实例必须由Azure Arc 启用,并使用 Azure SQL Server 扩展版本
1.1.3238.349或更高版本。 可以使用 Azure 门户或 Azure CLI 升级扩展。
在开始迁移过程之前,请确保已为 所选的迁移方法准备环境:
迁移到Azure SQL 托管实例
Database 迁移窗格上的以下磁贴将指导你完成将SQL Server数据库迁移到 Azure SQL 托管实例:
- 评估源实例:评估 SQL Server 实例,以确定其是否准备好迁移至 SQL 托管实例。
- 选择目标:为迁移选择SQL 托管实例目标。
- 迁移数据:将 SQL Server 数据库迁移到 SQL 托管实例。
- 监视和切换:监视迁移过程并切换到 SQL 托管实例 目标。
以下屏幕截图显示了 Azure 门户中您的 SQL Server 实例的 Database 迁移 窗格上的磁贴:
评估源实例
若要评估源实例,请执行以下步骤:
在 Azure 门户中转到 SQL Server 实例。
在“ 迁移”下,选择 “数据库迁移 ”以打开 “数据库迁移 ”窗格。 在 “评估源实例”下,选择“ 查看报表 ”以打开“ 评估 ”窗格。
在“ 评估 ”窗格中:
- 使用 运行评估 启动新的评估(如果最近未运行)。
- 使用 查看评估详细信息 功能,在 Azure SQL MI 推荐目标 框中了解更多关于您的评估结果,包括您的 SQL Server 实例是否已准备好迁移到 SQL 托管实例。 此外,还了解目标实例的建议服务层级和配置。
选择目标
评估SQL Server实例后,请选择SQL 托管实例目标。
在“ 评估 ”窗格中,选择“ 创建”或“选择目标”。 或者,在 “数据库迁移 ”窗格中,选择“ 选择目标”。 这两个选项都打开 “创建”或“选择目标 ”窗格,可在其中标识迁移目标。
在 “创建”或“选择目标 ”窗格中,在 “目标存在”下,选择以下选项之一:
- Yes,我已经创建了目标:选择现有的SQL 托管实例目标。
- No,我想创建新目标:创建新的SQL 托管实例目标。
填写SQL 托管实例目标所需的信息。 然后使用 “选择目标” 或 “创建目标” 来继续执行下一步,该步骤取决于您对 目标存在 的选择。
- 如果已将实例作为目标,则选择 Select 目标会将你转到SQL Server实例的 Database 迁移窗格。 实例名称被设定为选定目标。 然后,您可以继续迁移数据步骤。
- 如果选择创建新实例,将被引导至“数据库迁移”窗格上的“创建 Azure SQL 托管实例”窗格来创建目标实例。 完成后,检查SQL Server实例的 Database 迁移窗格上的部署进度。 目标名称显示在 目标 磁贴中。 然后,您可以继续迁移数据步骤。
迁移数据
当目标准备就绪后,开始启动迁移过程。
注释
如果在Azure门户中看不到新添加的数据库,可能需要启动 Arc 代理。
为 托管实例 链接迁移准备环境后,可以将SQL Server数据库迁移到Azure SQL 托管实例。
注释
创建每个链接最多可能需要 10 分钟。 使用 活动日志 跟踪链接创建过程中的背景更改。
按照以下步骤使用托管实例链接将SQL Server数据库迁移到SQL 托管实例:
在 “数据库迁移 ”窗格中,选择“ 迁移数据”。
在“ 新建数据迁移 ”窗格中, 选择“使用实时复制迁移”(联机):
Azure 门户上迁移数据页面中的 MI 链接迁移选项的截图。
在 “选择源数据库 ”选项卡上,选中要迁移的数据库旁边的框,然后使用 “下一步:设置” 转到下一页:
SQL Server版本
1.1.3348.364或更高版本的 Azure 扩展支持选择最多 10 个数据库来同时迁移。 如果扩展版本较早,则一次只能选择并迁移一个数据库。在 “设置” 选项卡上,提供 MI 链接的名称。 自动生成可用性组的名称 - 仅在需要时才对其进行自定义。 注意,在某些网络配置中可能会发生假阳性。还可以使用测试连接来测试与源 SQL Server 实例的连接。 使用 “下一步:查看 + 创建 ”转到下一页:
还可以测试与目标SQL 托管实例的连接
在“ 审阅 + 创建 ”选项卡上,查看设置,并检查警告。 迁移可以在某些警告条件下启动,而在其他警告条件下则不行。 选择启动数据迁移将数据迁移到SQL 托管实例目标。
注释
使用托管实例链接迁移方法启动迁移过程时,系统会向整个工作流授予实时权限,直到创建分布式可用性组完成,此时将删除实时权限。
在切换之前监视复制滞后
开始迁移后,可以监视主要副本和次要副本之间的复制滞后时间。 一个很大的差异表明,次要副本无法跟上主副本,这通常是由两个实例之间的链接中网络吞吐量缓慢、两个副本之间的资源分配不匹配或主副本上的工作负荷过高引起的。
在切换到目标SQL 托管实例时,监视复制延迟尤其重要。 切换操作执行计划故障转移,要求在故障转移执行之前,备用副本与主副本必须完全同步。 如果复制滞后时间较长,故障转移可能需要更长时间才能完成,在某些情况下,甚至有可能失败。
在“数据库迁移”窗格中,选择“监视迁移”,然后检查“延迟”列。 两条短划线表示没有滞后时间,而时间值表示滞后时间量。
如果复制延迟较高,请等待次要副本赶上主副本,然后再进行切换。 如果滞后时间仍然存在(例如暂停主副本上的工作负荷、改善两个实例之间的链接网络吞吐量或增加辅助副本上的资源容量),则可能需要执行其他故障排除步骤。 停止SQL Server主副本上的工作负荷的最简单方法是切断与实例的应用程序连接。
还可以使用 T-SQL 脚本监视复制滞后时间。 有关详细信息,请参阅 监视复制滞后。
监视和直接转换
开始迁移后,可以监视进度。 在 “数据库迁移 ”窗格中,选择“ 监视迁移”。
“监视和切换”窗格显示有关迁移过程的有用信息,例如:
- 已成功迁移的数据库和仍在进行中的数据库。
- 所选的迁移方法。
- 目标实例和目标数据库。
- 每个数据库的当前迁移持续时间。
- 迁移开始的时间。
可以从 “监视”和“切换” 窗格完成或取消迁移。 还可以查看日志以获取有关迁移的信息。 选择数据库会转到包含有关源和目标的更多详细信息的窗格。
迁移完成后,迁移状态会显示 “准备切换”。 若要切换到 SQL 托管实例 目标,请在 监视和切换 窗格中选择 切换。 还可以使用数据库详细信息窗格。
选择一个数据库,然后使用 直接转换 打开 “直接转换 ”窗格,并根据所选的迁移方法查看不同的选项。
反向迁移
根据 SQL 托管实例的 更新策略,可能会支持从 Azure SQL 托管实例反向迁移回 SQL Server。 例如:
- SQL Server 2022 更新策略:使用 SQL Server 2022 更新策略配置的实例中的数据库可以从 SQL Server 2022 实例进行还原。
- SQL Server 2025 更新策略:从配置了 SQL Server 2025 更新策略的实例中备份的数据库可以还原到 SQL Server 2025 实例。
- Always-up-to-date 更新策略:使用 Always-up-to-date 更新策略配置的数据库无法还原回SQL Server。
如果源SQL Server版本早于 2022 SQL Server,则无法进行反向迁移。 将数据库迁移到SQL 托管实例时,会进行内部升级到与早期SQL Server版本不兼容的较新的数据库版本。 仅当 SQL 托管实例配置了相应的更新策略时,才能实现反向迁移数据库兼容性。
在 Azure Arc 体验中的 SQL Server 迁移不支持反向迁移。 可以通过其他工具(例如 本机备份和还原)手动撤消迁移,或者在 SSMS 中手动配置链接。
局限性
托管实例 链接和LRS的限制适用于通过 Azure 门户进行的迁移。
通过 Azure 门户监视迁移仅适用于符合监视许可要求的 SQL Server 实例。
排查常见问题
若要排查迁移到 Azure SQL 托管实例 时的常见问题,请参阅 排查迁移问题。
相关内容
- 针对从SQL Server迁移至Azure SQL托管实例的评估规则
- SQL Server迁移到Azure SQL数据库的评估规则
- 将 SQL Server 迁移到 Azure SQL
- 由 Azure Arc 启用的 SQL Server
由 Azure Arc - 将迁移体验直接反馈到产品组