介绍 Azure 数据库迁移选项

已完成

许多组织计划将其数据库平台迁移到 Azure SQL 来降低许可成本。 通过 Azure 数据库迁移服务 (DMS) 可轻松迁移到 Azure SQL 平台。 DMS 支持同源迁移(例如,将虚拟机中的 MySQL 迁移到 Azure SQL 数据库)和异源迁移(例如,将虚拟机中的 Oracle 迁移到 Azure Database for PostgreSQL)。

有多种工具可用于帮助进行迁移。 下一部分将介绍一些迁移选项和方法。

Azure Migrate 工具

此迁移工具提供了一个集中位置来评估本地服务器、基础结构、应用程序和数据并将其迁移到 Azure。 无论服务器是物理虚拟机还是 VMWare/Hyper-V 虚拟机,它都将对你的服务器提供可发现性和适当的评估。

Azure Migrate 还有助于确保你选择适当大小的虚拟机,以便工作负载具有足够多的可用资源。 此外,该工具还将提供成本预估,让你能够相应地设置预算。

若要使用 Azure Migrate 工具,你必须部署一台轻量级设备,且该设备可部署到虚拟或物理计算机上。 发现本地服务器后,该设备将向驻留在云中的 Azure Migrate 持续发送每个服务器的元数据(及性能指标)。

Azure Migrate 门户选项

如上所示,可通过门户开启 Azure Migrate 体验来开始你的迁移过程。 该服务包含一个统一的迁移平台,它提供一个门户来跟踪到 Azure 的整个迁移。

你可使用其他几种工具来映射服务器资产并确定与目标 Azure 平台的兼容性:

  • MAP Toolkit - Microsoft 评估和规划工具包自动收集并提供一份报告,其中包含网络中所有 SQL 服务器的清单、版本和服务器信息。

  • 数据库实验助手 - 此工具可用于通过检查语法兼容性来评估 SQL Server 的版本升级,并提供一个平台来评估目标版本上的查询性能。

数据迁移助手

MAP 工具包和数据库实验助手可帮助你识别数据库,并突出显示数据库中任何不兼容或潜在的性能问题,而数据迁移助手 (DMA) 是一种全面的工具包,用于评估、识别你可用来使应用程序受益的新功能,并最终执行迁移。 此工具可用于在 SQL Server 版本之间进行迁移,从本地迁移到 Azure 虚拟机、Azure SQL 数据库或 Azure SQL 托管实例。

DMA 的主要优势之一是,既可评估来自扩展事件跟踪文件的查询,也可评估来自外部应用程序的 SQL 查询,例如应用程序的 C# 应用程序代码中的查询。 你可使用 C# 源生成完整报表,并将迁移评估上传到 DMA。 DMA 缓解了迁移到 SQL Server 较新版本或 Azure SQL 数据库时的风险。

Azure 数据库迁移服务

Azure 数据库迁移服务旨在支持不同迁移方案与不同源数据库和目标数据库的广泛混搭,还同时支持离线(一次性)和联机(持续数据同步)迁移场景。

对于联机迁移,Azure 数据库迁移服务提供了高度复原和自我修复的迁移服务,具有可靠的结果和接近零的停机时间。 下面突出显示了所涉及的主要步骤:

  1. 将本地数据库完全加载到 Azure 数据库。
  2. 将新的数据库事务持续同步到 Azure 目标。
  3. 在准备就绪时切换到目标 Azure 服务。 你可以停止复制,并将应用程序中的连接字符串切换到 Azure 数据库。

离线源和目标对如下方表 2 所示:

Target Source
Azure SQL 数据库 SQL Server
RDS SQL
Oracle
Azure SQL 托管实例 SQL Server
RDS SQL
Oracle
Azure SQL 虚拟机 SQL Server
Oracle
Azure Cosmos 数据库 MongoDB
Azure Database for MySQL MySQL
RDS MySQL
Azure Database for PostgreSQL PostgreSQL
RDS PostgreSQL

在线迁移的源和目标对如下方表 3 所示:

Target Source
Azure SQL 数据库 SQL Server
RDS SQL
Oracle
Azure SQL 托管实例 SQL Server
RDS SQL
Oracle
Azure SQL 虚拟机 SQL Server
Oracle
Azure Cosmos 数据库 MongoDB
Azure Database for MySQL MySQL
RDS MySQL
Azure Database for PostgreSQL PostgreSQL
RDS PostgreSQL
Oracle

数据迁移服务具有一些在各迁移方案中通用的先决条件。 你需要在 Azure 中创建一个虚拟网络;如果迁移方案涉及到本地资源,那么需要创建一个从你的办公室到 Azure 的 VPN 或 ExpressRoute 连接。 此连接需要使用很多网络端口。 满足先决条件后,完成迁移的时间将取决于相应数据库中的数据量和更改率。

有很多传统的需要更多手动操作的方法用于将数据库迁移到 Azure,包括备份和还原、日志传输、复制,以及在 Azure 中添加可用性组副本。 这些解决方案的主要目的不是执行迁移,但可将它们用于此目的。 用于物理迁移数据的技术将取决于你在迁移过程中可承受的故障时间长短。

详细了解用于将 SQL 数据库迁移到 Azure 的工具