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

成功将转换的对象与 SQL Server 同步后,可以使用适用于 Oracle 的 SQL Server 迁移助手(SSMA)将数据从 Oracle 迁移到 SQL Server。

重要

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

注释

虽然 Microsoft Entra ID 是 Azure Active Directory (Azure AD) 的新名称,但为了防止中断现有环境,Azure AD 仍保留在一些硬编码的元素中,例如 UI 字段、连接提供程序、错误代码和 cmdlet。 在本文中,这两个名称是可互换的。

设置迁移选项

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

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

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

  • 客户端数据迁移引擎
  • 服务器端数据迁移引擎

客户端数据迁移

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

注释

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

服务器端数据迁移

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

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

将数据迁移到 SQL Server

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

若要查看迁移消息,请确保 “输出 ”窗格可见。 如果不是,请在 “视图 ”菜单中选择“ 输出”。

迁移过程

  1. 验证以下要求:

    • Oracle 提供程序安装在运行 SSMA 的计算机上。
    • 已将转换的对象与 SQL Server 数据库同步。
  2. 在 Oracle 元数据资源管理器中,选择要迁移的数据的对象:

    • 若要迁移所有架构的数据,请选中 “架构”旁边的复选框。
    • 若要迁移数据或省略单个表,请先展开架构。 然后展开,并选中或清除表旁边的复选框。
  3. 可以选择客户端或服务器端数据迁移:

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

    若要执行服务器端数据迁移,请先确保:

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

    • SQL Server 代理服务正在 SQL Server 的实例上运行。

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

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

    如果未在 SQL Server 实例上安装 SSMA for Oracle 扩展包,并且选择了 服务器端数据迁移引擎 ,则在将数据迁移到目标数据库时,会收到以下错误:

    SSMA Data Migration components were not found on SQL Server, server-side data migration will not be possible. Please check if Extension Pack is installed correctly.
    

    选择 “取消” 以终止数据迁移。

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

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

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

注释

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

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

在短时间内需要迁移大量数据时,大规模脱机迁移是一个合适的选项。 此功能在后端使用 Azure 数据库迁移服务,以及云的可伸缩性,将本地或外部 Oracle 数据源迁移到 Azure SQL 平台。 此功能通过基础结构即服务(IaaS)或 Azure SQL 通过平台即服务(PaaS)与虚拟机(VM)配合使用。 可以创建新的数据库迁移服务实例,或使用现有的数据库迁移服务实例将数据迁移到 Azure VM 上的 Azure SQL PaaS 或 SQL Server。

  1. 对于大型脱机迁移,请选择“使用 DMS 迁移数据”(预览版)。

  2. 提供Microsoft Entra 帐户进行身份验证。 输入用户名后,选择 “连接”。

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

  4. 在迁移工作流的下一步中,可以提供数据源、目标数据库和关联的凭据。

  5. 选择 Azure 资源时,可以使用现有资源。 选择资源组和数据迁移服务名称,或选择“ 新建 ”以创建资源组和 Azure 迁移服务进行迁移。

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

  7. 启动数据迁移后的几秒钟内,监视器迁移向导会自动打开。 若要查看实时迁移状态,请选择要监视的活动下的 “查看 ”。 还可以查看全面的报表,该报表将转到 Azure 门户,获取有关迁移活动更精细的监视详细信息。 可以通过 DMS(预览版)迁移数据旁边的“监控”按钮来访问向导。