成功将转换后的对象与 SQL Server 或 SQL Azure 同步之后,可以将数据从 MySQL 迁移到 SQL Server 或 SQL Azure。
重要
如果正在使用的引擎是服务器端数据迁移引擎,那么在迁移数据之前,必须在运行 SSMA 的计算机上安装适用于 MySQL 扩展包的 SSMA 和 MySQL 提供程序。 SQL Server 代理服务也必须正在运行。 有关如何安装扩展包的详细信息,请参阅在 SQL Server 上安装 SSMA 组件(MySQL 到 SQL)
注意
虽然 Microsoft Entra ID 是 Azure Active Directory (Azure AD) 的新名称,但为了防止中断现有环境,Azure AD 仍保留在一些硬编码的元素中,例如 UI 字段、连接提供程序、错误代码和 cmdlet。 在本文中,这两个名称可以互换。
设置迁移选项
将数据迁移到 SQL Server 或 SQL Azure 之前,请查看“项目设置”对话框中的项目迁移选项。
- 使用此对话框,可以设置迁移批处理大小、表锁定、约束检查、NULL 值处理和标识值处理等选项。 有关“项目迁移设置”的详细信息,请参阅项目设置(迁移)。 - 有关“扩展数据迁移设置”的详细信息,请参阅数据迁移设置 
- “项目设置”对话框中的“迁移引擎”允许用户使用两种类型的数据迁移引擎执行迁移过程: - 客户端数据迁移引擎 
- 服务器端数据迁移引擎 
 
客户端数据迁移:
- 要在客户端启动数据迁移,请在“项目设置”对话框中,选择“客户端数据迁移引擎”选项。 
- 在“项目设置”中,会设置“客户端数据迁移引擎”选项。 - 注意 - 客户端数据迁移引擎驻留在 SSMA 应用程序中,因此不受扩展包可用性的限制。 
服务器端数据迁移:
- 在服务器端数据迁移期间,引擎驻留在目标数据库上。 该引擎通过扩展包安装。 要详细了解如何安装扩展包,请查看在 SQL Server 上安装 SSMA 组件(MySQL 到 SQL) 
- 要执行服务器端数据迁移,请在“项目设置”对话框中,选择“服务器端数据迁移引擎”选项。 
重要
“客户端数据迁移”选项仅适用于 SQL Azure。
将数据迁移到 SQL Server 或 Azure SQL
迁移数据是一个大容量加载操作,即在事务中将 MySQL 表的多行数据移动到 SQL Server 或 SQL Azure 表中。 每个事务中加载到 SQL Server 中的行数是在项目设置中配置的。
要查看迁移消息,请确保“输出”窗格可见。 若不可见,则从“视图”菜单中选择“输出”。
要迁移数据
- 确认满足以下条件: - 已在运行 SSMA 的计算机上安装 MySQL 提供程序。 
- 已将转换后的对象与目标数据库(SQL Server/SQL Azure)同步。 
 
- 在 MySQL 元数据资源管理器中,选择包含了要迁移的数据的对象: - 要迁移所有架构的数据,请选中“架构”旁边的复选框。 
- 要迁移数据或省略单个表,请先展开架构,在展开“表”,然后选中或清除表旁边的复选框。 
 
- 要迁移数据,会发生两种情况: - 客户端数据迁移: - 要执行“客户端数据迁移”,请在“项目设置”对话框中,选择“客户端数据迁移引擎”选项。
 - 服务器端数据迁移: - 在服务器端执行数据迁移之前,请确保: - SQL Server 的实例上已安装适用于 MySQL 扩展包的 SSMA。 
- SQL Server 代理服务当前在 SQL Server 实例上运行。 
 
- 要执行服务器端数据迁移,请在“项目设置”对话框中,选择“服务器端数据迁移引擎”选项。 
 
- 右键单击 MySQL 元数据资源管理器中的“架构”,然后单击“迁移数据”。 也可以迁移单个对象或对象类别的数据:右键单击对象或其父文件夹,选择“迁移数据”选项。 - 注意 - 如果未在 SQL Server 实例上安装 SSMA for MySQL 扩展包,并且选择了“服务器端数据迁移引擎”,则会在将数据迁移到目标数据库时遇到以下错误:“未在 SQL Server 上找到 SSMA 数据迁移组件,无法进行服务器端数据迁移。 请检查是否已正确安装扩展包。” 单击“取消”终止数据迁移。 
- 在“连接到 MySQL”对话框中输入连接凭据,然后单击“连接”。 有关连接到 MySQL 的详细信息,请参阅连接到 MySQL (MySQLToSQL) - 如果目标数据库是 SQL Server,则在“连接到 SQL Server”对话框中输入连接凭据,然后单击“连接”。 有关连接 SQL Server 的详细信息,请参阅连接到 SQL Server - 如果目标数据库是 SQL Azure,则在“连接到 SQL Azure”对话框中输入连接凭据,然后单击“连接”。 有关连接 SQL Azure 的详细信息,请参阅连接到 Azure SQL 数据库 (MySQLToSQL) - “输出”窗格中会显示消息。 迁移完成后,将出现“数据迁移报告”。 如果有任何数据未迁移,请单击包含错误的行,然后单击“详细信息”。 完成报告后,单击“关闭”。 有关数据迁移报告的详细信息,请参阅数据迁移报告(SSMA 通用) 
注意
当 SQL Express Edition 用作目标数据库时,只允许客户端数据迁移,不支持服务器端数据迁移。
大规模迁移数据(预览版)
如果需要在短时间内迁移大型数据,就适合使用大规模离线迁移选项。 此功能利用 Azure 数据工厂管道和云的可伸缩性,将本地或外部 Oracle 数据源迁移到 Azure SQL 平台,无论是 IaaS VM 还是 SQL PaaS。 此功能将创建数据工厂或使用现有数据工厂将数据迁移到 Azure SQL PaaS 或 SQL VM。
- 要执行大型离线迁移,请单击“大规模迁移数据”。 
- 提供 Microsoft Entra Azure AD 帐户用于身份验证。 输入用户名后,选择“连接”。 
- 选择已配置了 Azure SQL 虚拟机或 Azure SQL 数据库或托管实例的租户和订阅,然后单击“下一步”。 
- 迁移工作流中的下一步是提供数据源凭据,后跟目标 SQL 凭据。 
- 对于此迁移,可以使用现有的 Azure 资源 - 资源组和数据工厂名称,或者单击“新建”以创建一个资源组和 Azure 数据工厂以进行迁移。 
- 要迁移外部数据源,需要集成运行时。 单击“新建”并按照步骤创建集成运行时,或使用现有集成服务。 要创建集成服务,需要配置网关安装,并且需要提供密钥来配置集成运行时。 
- 最后,提供唯一的数据迁移名称。 管道名称支持字符和数值。 避免使用任何特殊字符。 
- 如果目标表包含数据,则将被截断并重新加载。 此时会显示警告对话框。 选择“确定”以继续,或选择“取消”以避免截断并加载活动。 
- 创建 Azure 数据工厂组件需要几分钟时间。 状态栏将提供管道的创建进度。 如果成功创建管道,则会在输出日志中写入消息:“已为数据迁移活动创建数据工厂管道 [PipelineName]。” 
- 要监视数据迁移,请单击监视 URL,或转到 Azure 门户中的数据工厂监视页。