在迁移 Microsoft Azure SQL 数据库时,通常需要使用数据库工具从 Azure SQL 数据库中提取数据,针对目标数据库进行必要的架构更改,然后将数据导入目标数据库。这一般会涉及到手动步骤,并且源应用程序需要停机较长的时间。如果有一种方法可以快速安全地从 Azure SQL 迁移到 Amazon Aurora MySQL 兼容版,同时最大限度地减少应用程序停机时间和用户干预工作,那会怎么样?本博文介绍了如何快速、安全地自动从 Microsoft Azure SQL 数据库迁移到 Amazon Aurora MySQL 兼容版 ,并最大限度地减少依赖 Microsoft Azure SQL 数据库的应用程序的停机时间。在下文中,我们假设您现有一个 Microsoft Azure SQL 数据库,需要将其迁移到 Amazon Aurora MySQL 兼容版。您将需要对 Azure SQL 数据库的管理员访问权限,以及连接信息、用户名和密码。您还需要修改 Azure SQL 数据库防火墙,以允许来自 AWS Database Migration Service (AWS DMS)和托管 AWS Schema Conversion Tool (AWS SCT)的 Amazon Elastic Compute Cloud (Amazon EC2)实例的访问。对于目标数据库,我们将使用 Amazon Aurora MySQL 兼容版。
我们为 AWS SCT 部署使用 Amazon EC2 Windows 实例。 SCT 可以本地安装在任何 Windows 或常用的 Linux 平台上。
我们将要使用的数据集是示例数据集,可在创建 Azure SQL 数据库时选择(SalesLT)。下图 1 说明了用于迁移的 Azure/AWS 服务。
图 1.使用的 Azure/AWS 服务
在异构数据库迁移中,转换数据库架构和代码对象通常是最耗时的操作。AWS SCT 是一款易用的应用程序,您可以将其安装在本地部署服务器、本地笔记本电脑/台式机或 Amazon EC2 实例上。SCT 可检查源数据库架构,并自动将大多数数据库代码对象(包括视图、存储过程和函数)转换为与目标数据库兼容的格式,帮助简化异构数据库迁移。SCT 无法自动转换的任何对象都将标有详细信息,可供您用来手动转换对象。
完成架构转换后,您需要移动数据本身。对于生产数据库,您可能无法承受迁移期间的任何停机时间。要实现接近于零的迁移停机时间,您可能需要在将应用程序切换到新的目标数据库之前,确保