将 Oracle 数据迁移到 SQL Server (OracleToSQL)

成功将转换的对象与 SQL Server 同步后,可以将数据从 Oracle 迁移到SQL Server。

重要

如果使用的引擎是服务器端数据迁移引擎,则在迁移数据之前,必须在运行 SSMA 的计算机上安装适用于 Oracle 扩展包的 SSMA 和 Oracle 提供程序。 SQL Server 代理服务也必须正在运行中。 有关如何安装扩展包的详细信息,请参阅 (OracleToSQL) 安装服务器组件

设置迁移选项

将数据迁移到SQL Server之前,请查看“项目设置”对话框中的项目迁移选项。

  • 使用此对话框可以设置迁移批大小、表锁定、约束检查、null 值处理和标识值处理等选项。 有关项目迁移设置的详细信息,请参阅 “项目设置” (迁移) (OracleToSQL)

  • 项目设置”对话框中的迁移引擎允许用户使用两种类型的数据迁移引擎执行迁移过程:

    1. 客户端数据迁移引擎

    2. 服务器端数据迁移引擎

客户端数据迁移:

  • 若要在客户端启动数据迁移,请在“项目设置”对话框中选择“客户端数据迁移引擎”选项。

  • “项目设置”中,设置了 “客户端数据迁移引擎 ”选项。

    注意

    客户端数据迁移引擎驻留在 SSMA 应用程序中,因此不依赖于扩展包的可用性。

服务器端数据迁移:

  • 在服务器端数据迁移期间,引擎驻留在目标数据库上。 它通过扩展包进行安装。 有关如何安装扩展包的详细信息,请参阅在 SQL Server 上安装服务器组件

  • 若要在服务器端启动迁移,请在“项目设置”对话框中选择“服务器端数据迁移引擎”选项。

将数据迁移到 SQL Server

迁移数据是一项大容量加载操作,可将数据行从 Oracle 表移到事务中的SQL Server表中。 每个事务中加载到SQL Server的行数在项目设置中配置。

若要查看迁移消息,请确保“输出”窗格可见。 否则,从 “视图” 菜单中选择“ 输出”。

迁移数据

  1. 检查下列各项:

    • Oracle 提供程序安装在运行 SSMA 的计算机上。

    • 已将转换的对象与 SQL Server 数据库同步。

  2. 在 Oracle 元数据资源管理器中,选择要迁移的数据的对象:

    • 若要迁移所有架构的数据,请选中 “架构”旁边的复选框。

    • 若要迁移数据或省略单个表,请先展开架构,展开 ,然后选择或清除表旁边的复选框。

  3. 若要迁移数据,会发生两种情况:

    客户端数据迁移:

    • 若要执行客户端数据迁移,请在“项目设置”对话框中选择“客户端数据迁移引擎”选项。

    服务器端数据迁移:

    • 在服务器端执行数据迁移之前,请确保:

      1. SSMA for Oracle 扩展包安装在 SQL Server 实例上。

      2. SQL Server 代理服务当前未在 SQL Server 的实例运行。

    • 若要执行服务器端数据迁移,请在“项目设置”对话框中选择“服务器端数据迁移引擎”选项。

  4. 右键单击 Oracle 元数据资源管理器中的 架构 ,然后单击“ 迁移数据”。 还可以迁移单个对象或对象类别的数据:右键单击对象或其父文件夹;选择 “迁移数据 ”选项。

    注意

    如果未在 SQL Server 实例上安装 SSMA for Oracle 扩展包,并且选择了服务器端数据迁移引擎,则在将数据迁移到目标数据库时,将遇到以下错误:“在SQL Server上找不到 SSMA 数据迁移组件,则不可能进行服务器端数据迁移。 请检查扩展包是否已正确安装”。 单击“ 取消 ”以终止数据迁移。

  5. “连接到 Oracle ”对话框中,输入连接凭据,然后单击“ 连接”。 有关连接到 Oracle 的详细信息,请参阅 连接到 Oracle (OracleToSQL)

    若要连接到目标数据库SQL Server,请在“连接到SQL Server”对话框中输入连接凭据,然后单击“连接”。 有关连接到SQL Server的详细信息,请参阅“连接到SQL Server

    消息将显示在 “输出 ”窗格中。 迁移完成后,会显示 数据迁移报告 。 如果未迁移任何数据,请单击包含错误的行,然后单击“详细信息”。 完成报表后,单击“ 关闭”。 有关 数据迁移报表的详细信息,请参阅 SSMA 通用) (数据迁移报告

注意

当 SQL Express Edition 用作目标数据库时,只允许客户端数据迁移,不支持服务器端数据迁移。

大规模迁移数据 (预览版)

如果需要在短时间内迁移大型数据大小,则大规模脱机迁移是一个合适的选项。 此功能使用 Azure 数据工厂管道和云的可伸缩性将本地或外部 Oracle 数据源迁移到Azure SQL平台(无论是 IaaS VM 还是 SQL PaaS)。 此功能将创建数据工厂或使用现有数据工厂将数据迁移到 Azure SQL PaaS 或 SQL VM。

  1. 对于大型脱机迁移,请单击“大规模迁移数据”。

  2. 提供 Azure Active Directory 帐户进行身份验证。 输入用户名后,单击“连接”。

  3. 选择已配置Azure SQL VM 或Azure SQL数据库或托管实例的租户和订阅,然后单击“下一步”。

  4. 迁移工作流中的下一步是提供数据源凭据,后跟目标 SQL 凭据。

  5. 对于此迁移,可以使用现有的 Azure 资源 - 资源组和数据工厂名称,或单击“新建”以创建资源组和 Azure 数据工厂进行迁移。

  6. 若要迁移外部数据源,需要集成运行时。 单击“新建”,然后按照步骤创建集成运行时或使用现有集成服务。 若要创建集成服务,需要配置网关安装,并且需要提供密钥来配置集成运行时。

  7. 最后,提供唯一的数据迁移名称。 迁移名称支持字符和数值。 避免任何特殊字符。

  8. 如果目标表包含数据,则会截断并重新加载它。 将显示一个警告对话框。 选择“确定”以继续或取消以避免截断和加载活动。

  9. 创建 Azure 数据工厂组件需要几分钟时间。 状态栏将提供管道创建进度。 如果成功创建管道,则会在输出日志中写入消息“为数据迁移活动创建数据工厂管道 [PipelineName]。

  10. 若要监视数据迁移,请单击监视 URL 或转到Azure 门户中的数据工厂监视页。

另请参阅

将 Oracle 数据库迁移到 SQL Server (OracleToSQL)