使用 Fabric 数据仓库迁移助手进行迁移

适用于:Microsoft Fabric 中的✅ 仓库

Fabric 迁移助手是将 Azure Synapse Analytics、SQL Server 和其他 SQL 数据库平台中的专用 SQL 池无缝复制到 Microsoft Fabric 数据仓库的迁移体验。

本指南将引导你完成使用 DACPAC 文件从 Azure Synapse Analytics 专用 SQL 池迁移到 Fabric 仓库的步骤。

小提示

有关迁移助手的功能和特性的更多信息,请参阅 Fabric 数据仓库迁移助手

有关迁移策略和规划的更多信息,请参阅迁移规划:从 Azure Synapse Analytics 专用 SQL 池迁移到 Fabric 数据仓库

先决条件

在开始之前,请确保你已准备好以下内容:

迁移助手的用于修复迁移问题的 AI 辅助迁移功能需要激活 Copilot:

复制元数据

  1. 在 Fabric 工作区中,选择操作面板上的 “迁移” 按钮。

    项目操作面板中“迁移”按钮的 Fabric 门户屏幕截图。

  2. “迁移到 Fabric”源菜单中的 “迁移到仓库”下,选择 “分析 T-SQL 仓库”或“分析 T-SQL 数据库” 磁贴。

    分析 T-SQL 仓库或数据库磁贴的 Fabric 门户的屏幕截图。

  3. 在“概述”上,查看信息并选择“下一步”。

  4. 选择“选择文件”并上传源数据仓库的 DACPAC 文件。 上传完成后,选择“下一步”。

    迁移助手中“上传 DACPAC 文件”步骤的 Fabric 门户的屏幕截图。

  5. “设置目标 ”页中,提供要迁移到的新 Fabric 工作区和新仓库项的名称。 选择“下一步”。

  6. 查看输入内容并选择“迁移”。 此时将创建一个新的仓库项目,元数据迁移开始。

    Fabric 门户中迁移助手审核页的屏幕截图。源是 DACPAC 文件,目标是名为 AdventureWorks 的新建仓库项目。

    在此步骤中,迁移助手将 T-SQL 元数据转换为 Fabric 数据仓库中支持的 T-SQL 语法。 元数据迁移完成后,迁移助手将打开。 可以随时使用仓库功能区“主页”选项卡中的“迁移”按钮访问迁移助手。

  7. 在迁移助手中查看元数据迁移摘要。 你将看到已迁移对象的数量以及在迁移前需要修复的对象。

    Fabric 门户中迁移助手元数据迁移摘要的屏幕截图,其中突出显示了“显示已迁移对象”选项。

  8. 选择“显示已迁移对象”展开该部分,并查看已成功迁移到 Fabric 仓库的对象列表。

    迁移助手元数据迁移摘要和已迁移对象列表的 Fabric 门户屏幕截图。

    “状态”列指示在将对象的元数据转换为 Fabric 仓库支持的格式时,是否对其进行了调整。 例如,你可能会看到某些列数据类型或 T-SQL 语言结构已自动转换为 Fabric 中支持的类型。 “详细信息”列显示对对象所做调整的相关信息。

  9. 选择任何对象以查看迁移过程中所做的调整。

  10. 在全屏视图中打开元数据迁移摘要,以提高可读性。 应用筛选器以查看特定对象类型。

    迁移助手迁移对象的元数据迁移摘要的全屏视图的屏幕截图。

使用迁移助手修复问题

某些数据库对象元数据可能无法迁移。 通常,这是因为迁移助手无法将 T-SQL 元数据转换为 Fabric 仓库支持的元数据,或者转换后的代码无法应用于 T-SQL。

让我们借助迁移助手来修复这些脚本。

  1. 选择迁移助手中的“修复问题”步骤,查看无法迁移的脚本。

    迁移助手“修复问题”列表的 Fabric 门户屏幕截图。

  2. 选择一个未能迁移的数据库对象。 此时将在“资源管理器”的“共享查询”打开一个新查询。 此新查询显示元数据定义以及对其所做的调整,这些调整以自动注释的形式添加到 T-SQL 代码中。

  3. 查看脚本开头的注释,了解对脚本所做的调整。

  4. 使用错误信息和文档查看并修复损坏的脚本。

  5. 要使用 Copilot 获得 AI 支持的错误修复帮助,请选择“建议操作”部分中的“修复查询错误”。 Copilot 将提供脚本修复建议。 由于 Copilot 使用 AI,可能会出现错误,因此请验证代码建议并根据需要进行调整。

    Fabric 门户中查询编辑器的屏幕截图,显示了迁移失败的 T-SQL 查询,以及 Copilot 建议的注释和修复措施。

  6. 选择“运行”以验证并创建对象。

  7. 此时将打开下一个需要修复的脚本。

  8. 继续修复其余脚本。 在此步骤中,可以选择跳过不需要修复的脚本。

  9. 当所有需要迁移的元数据都准备好后,选择“修复问题”窗格中的后退按钮,返回到迁移助手的顶级视图。 检查迁移助手中的“2. 修复问题”步骤。

使用迁移助手复制数据

复制数据有助于迁移已迁移对象所使用的数据。 可以使用 Fabric 数据工厂复制作业手动进行复制,或者按照以下步骤使用迁移助手中集成的复制作业。

  1. 选择迁移助手中的“复制数据”步骤。

  2. 选择“使用复制作业”按钮

  3. 将名称分配给新作业,然后选择“创建”

  4. 连接到数据源页面上,提供源自 Azure Synapse Analytics (SQL DW) 仓库的连接凭据。 选择“下一步”。

  5. 在“选择数据”页面上,选择要迁移的表。 对象元数据应已存在于目标仓库中。 选择“下一步”。

    “选择数据”窗格的 Fabric 门户屏幕截图,其中已选择了一些表。

  6. 在“选择数据目标”页面上,从“OneLake 目录”中选择新的 Fabric 数据仓库项目。 选择“下一步”。

  7. 在“映射到目标”页面上,配置每个表的列映射。 选择“下一步”。

  8. 在“复制作业模式”页面上,选择复制模式。 选择一次性完整数据复制(建议用于迁移)或持续增量复制。 选择“下一步”。

  9. 查看作业摘要。 选择“保存 + 运行”

  10. 复制作业完成后,检查迁移助手中的“3. 复制数据”步骤。 选择顶部的后退按钮,返回到迁移助手的顶级视图。

重新路由连接

在最后一步中,需要将连接到源数据的加载/报告平台重新连接到新的 Fabric 数据仓库。

  1. 确定现有源仓库上的连接。
    • 例如,在 Azure Synapse Analytics 专用 SQL 池中,可以找到会话信息,包括源应用程序、谁连接、连接来自何处,以及其是否使用 Microsoft Entra ID 或 SQL 身份验证:
    SELECT DISTINCT CASE 
             WHEN len(tt) = 0
                 THEN app_name
             ELSE tt
             END AS application_name
         ,login_name
         ,ip_address
    FROM (
         SELECT DISTINCT app_name
             ,substring(client_id, 0, CHARINDEX(':', ISNULL(client_id, '0.0.0.0:123'))) AS ip_address
             ,login_name
             ,isnull(substring(app_name, 0, CHARINDEX('-', ISNULL(app_name, '-'))), 'h') AS tt
         FROM sys.dm_pdw_exec_sessions
         ) AS a;
    
  2. 更新到报告平台的连接,使其指向 Fabric 仓库。
  3. 在重新路由之前,使用一些报告测试 Fabric 仓库。 在报告平台中执行比较和数据验证测试。
  4. 更新数据加载 (ETL/ELT) 平台的连接,使其指向 Fabric 仓库。
    • 对于 Power BI/Fabric 管道:
      • 使用List Connections REST API查找与旧数据源 Azure Synapse Analytics 专用 SQL 池的连接。
      • 使用“设置”齿轮下的“管理连接和网关”体验更新到新 Fabric 数据仓库的连接。
  5. 完成后,检查迁移助手中的“重新路由连接”步骤。

祝贺! 现在,你已准备好开始使用该数据仓库。

Fabric 门户迁移助手的屏幕截图,其中显示了完成所有四个作业步骤,并显示祝贺弹出窗口。