适用于:Microsoft Fabric 中的✅ 仓库
Fabric 迁移助手是将 Azure Synapse Analytics、SQL Server 和其他 SQL 数据库平台中的专用 SQL 池无缝复制到 Microsoft Fabric 数据仓库的迁移体验。
本指南将引导你完成使用 DACPAC 文件从 Azure Synapse Analytics 专用 SQL 池迁移到 Fabric 仓库的步骤。
小提示
有关迁移助手的功能和特性的更多信息,请参阅 Fabric 数据仓库迁移助手。
有关迁移策略和规划的更多信息,请参阅迁移规划:从 Azure Synapse Analytics 专用 SQL 池迁移到 Fabric 数据仓库。
先决条件
在开始之前,请确保你已准备好以下内容:
- 具有激活容量或试用容量的 Fabric 工作区。
- 创建工作区或选择一个要迁移到其中的现有工作区。 迁移助手将为你创建一个新的仓库。
- 从 Azure Synapse Analytics 专用 SQL 池中提取的 DACPAC 文件。
DACPAC(数据层应用程序包)文件根据 SQL 数据库项目构建,并且包含数据库对象的元数据,包括表架构、视图、存储过程、函数等。
- 若要使用 SQL Server Data Tools 在 Visual Studio 2022 中创建 DAC,请参阅 从 Visual Studio 2022 中的 Azure Synapse 专用 SQL 池中提取数据层应用程序(DAC)。
- 还可以将 SDK 样式的数据库项目 与 VS Code 或 SqlPackage 命令行实用工具配合使用。
迁移助手的用于修复迁移问题的 AI 辅助迁移功能需要激活 Copilot:
- 管理员需要启用租户切换,然后你才能开始使用 Copilot。 有关更多信息,请参阅 Copilot 租户设置。
- F2 或 P1 容量需要位于 Fabric 区域可用性中列出的某个区域。
- 如果租户或容量在美国或法国以外,则默认情况下禁用 Copilot,除非 Fabric 租户管理员允许 发送到 Azure OpenAI 的数据在容量的地理区域、合规性边界或 Fabric 管理门户中的国家云实例租户设置之外进行处理 。
- Microsoft Fabric 中的 Copilot 不支持试用版 SKU。 目前仅支持付费 SKU(F2 或更高版本或 P1 或更高版本)。
- 有关更多信息,请参阅 Fabric 和 Power BI 中的 Copilot 概述。
复制元数据
在 Fabric 工作区中,选择操作面板上的 “迁移” 按钮。
在 “迁移到 Fabric”源菜单中的 “迁移到仓库”下,选择 “分析 T-SQL 仓库”或“分析 T-SQL 数据库” 磁贴。
在“概述”上,查看信息并选择“下一步”。
选择“选择文件”并上传源数据仓库的 DACPAC 文件。 上传完成后,选择“下一步”。
在 “设置目标 ”页中,提供要迁移到的新 Fabric 工作区和新仓库项的名称。 选择“下一步”。
查看输入内容并选择“迁移”。 此时将创建一个新的仓库项目,元数据迁移开始。
在此步骤中,迁移助手将 T-SQL 元数据转换为 Fabric 数据仓库中支持的 T-SQL 语法。 元数据迁移完成后,迁移助手将打开。 可以随时使用仓库功能区“主页”选项卡中的“迁移”按钮访问迁移助手。
在迁移助手中查看元数据迁移摘要。 你将看到已迁移对象的数量以及在迁移前需要修复的对象。
选择“显示已迁移对象”展开该部分,并查看已成功迁移到 Fabric 仓库的对象列表。
“状态”列指示在将对象的元数据转换为 Fabric 仓库支持的格式时,是否对其进行了调整。 例如,你可能会看到某些列数据类型或 T-SQL 语言结构已自动转换为 Fabric 中支持的类型。 “详细信息”列显示对对象所做调整的相关信息。
选择任何对象以查看迁移过程中所做的调整。
在全屏视图中打开元数据迁移摘要,以提高可读性。 应用筛选器以查看特定对象类型。
使用迁移助手修复问题
某些数据库对象元数据可能无法迁移。 通常,这是因为迁移助手无法将 T-SQL 元数据转换为 Fabric 仓库支持的元数据,或者转换后的代码无法应用于 T-SQL。
让我们借助迁移助手来修复这些脚本。
选择迁移助手中的“修复问题”步骤,查看无法迁移的脚本。
选择一个未能迁移的数据库对象。 此时将在“资源管理器”的“共享查询”打开一个新查询。 此新查询显示元数据定义以及对其所做的调整,这些调整以自动注释的形式添加到 T-SQL 代码中。
查看脚本开头的注释,了解对脚本所做的调整。
使用错误信息和文档查看并修复损坏的脚本。
要使用 Copilot 获得 AI 支持的错误修复帮助,请选择“建议操作”部分中的“修复查询错误”。 Copilot 将提供脚本修复建议。 由于 Copilot 使用 AI,可能会出现错误,因此请验证代码建议并根据需要进行调整。
选择“运行”以验证并创建对象。
此时将打开下一个需要修复的脚本。
继续修复其余脚本。 在此步骤中,可以选择跳过不需要修复的脚本。
当所有需要迁移的元数据都准备好后,选择“修复问题”窗格中的后退按钮,返回到迁移助手的顶级视图。 检查迁移助手中的“2. 修复问题”步骤。
使用迁移助手复制数据
复制数据有助于迁移已迁移对象所使用的数据。 可以使用 Fabric 数据工厂复制作业手动进行复制,或者按照以下步骤使用迁移助手中集成的复制作业。
选择迁移助手中的“复制数据”步骤。
选择“使用复制作业”按钮。
将名称分配给新作业,然后选择“创建”。
在连接到数据源页面上,提供源自 Azure Synapse Analytics (SQL DW) 仓库的连接凭据。 选择“下一步”。
在“选择数据”页面上,选择要迁移的表。 对象元数据应已存在于目标仓库中。 选择“下一步”。
在“选择数据目标”页面上,从“OneLake 目录”中选择新的 Fabric 数据仓库项目。 选择“下一步”。
在“映射到目标”页面上,配置每个表的列映射。 选择“下一步”。
在“复制作业模式”页面上,选择复制模式。 选择一次性完整数据复制(建议用于迁移)或持续增量复制。 选择“下一步”。
查看作业摘要。 选择“保存 + 运行”。
复制作业完成后,检查迁移助手中的“3. 复制数据”步骤。 选择顶部的后退按钮,返回到迁移助手的顶级视图。
重新路由连接
在最后一步中,需要将连接到源数据的加载/报告平台重新连接到新的 Fabric 数据仓库。
- 确定现有源仓库上的连接。
- 例如,在 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; - 更新到报告平台的连接,使其指向 Fabric 仓库。
- 在重新路由之前,使用一些报告测试 Fabric 仓库。 在报告平台中执行比较和数据验证测试。
- 更新数据加载 (ETL/ELT) 平台的连接,使其指向 Fabric 仓库。
- 对于 Power BI/Fabric 管道:
- 使用List Connections REST API查找与旧数据源 Azure Synapse Analytics 专用 SQL 池的连接。
- 使用“设置”齿轮下的“管理连接和网关”体验更新到新 Fabric 数据仓库的连接。
- 对于 Power BI/Fabric 管道:
- 完成后,检查迁移助手中的“重新路由连接”步骤。
祝贺! 现在,你已准备好开始使用该数据仓库。