Fabric 数据仓库迁移助手

适用于:Microsoft Fabric 中的✅ 仓库

Fabric 迁移助手是原生内置于 Fabric 中的迁移体验,提供引导式迁移到 Microsoft Fabric 的体验。

迁移助手从源数据库复制元数据和数据,并将源架构自动转换为 Fabric 数据仓库。 由 AI 提供支持,为迁移不兼容或错误提供了快速解决方案。

可以使用适用于数据仓库的 Fabric 迁移助手在 Azure Synapse Analytics 中复制专用 SQL 池,以及在 SQL Server 和其他 SQL 数据库平台中复制 TB 或更大的 OLAP 数据。

小提示

有关使用迁移助手进行迁移的分步指南,请参阅 使用数据仓库的 Fabric 迁移助手进行迁移

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

迁移步骤

使用 Fabric 迁移助手进行迁移在很高的层次上涉及以下步骤:

  1. 使用 DACPAC 文件将对象的架构(例如表的定义)从源迁移到新的 Fabric 仓库。
  2. 使用迁移助手修复问题:更新无法自动迁移的对象的 T-SQL 类型和定义。
  3. 在 Fabric 数据工厂中使用复制作业复制数据。
  4. 测试和并行比较旧仓库和新仓库。 最后,从访问源仓库的应用程序重新路由连接,以使用新仓库。

已迁移的对象

迁移助手可帮助用户使用 DACPAC 文件迁移到 Fabric 数据仓库。 DACPAC 中捕获的数据库对象元数据包括:

  • 表格
  • 浏览量
  • Functions
  • 存储过程
  • 安全对象,例如角色、权限、动态数据掩码

使用迁移助手修复问题

如果无法将元数据迁移到 Fabric 仓库中支持的脚本,或者代码无法应用于 T-SQL,则某些 T-SQL 脚本无法迁移。 迁移助手的修复问题步骤有助于修复这些失败的脚本。

主要对象和依赖对象

失败的脚本被分成多个组:

  • 主要对象是不依赖于另一个对象的对象。
  • 依赖对象是直接或间接依赖于一个或多个对象的对象。

在修复依赖对象的主要对象之前,不会迁移依赖对象,因此系统会引导你先修复主要对象。

例如,有三个对象:表 A、使用表 A 的视图 B、使用视图 B 的视图 C。在这种情况下,主对象是表 A,视图 B 和 C 是依赖对象。

主要对象按优先级排序,帮助你更快地完成迁移。 优先级基于对象的依赖项数量。 依赖项是指直接或间接引用或依赖于此对象的任何对象。

例如,表 A 对视图 B 和 C 具有两个依赖项,视图 B 对视图 C 有一个依赖项,而视图 C 没有依赖项。 因此,它们的优先级顺序为表 A、视图 B、视图 C。

修复迁移错误

使用错误信息手动查看和修复损坏的脚本,或使用 Copilot 获取 AI 支持的帮助。 (必须启用 Copilot。)Copilot 会分析你的查询,并尝试找到修复查询的最佳方法。 Copilot 会留下评论来解释它修复的内容和原因。 由于 Copilot 使用 AI,可能会出现错误,因此请验证代码建议然后再运行。

进行运行查询所需的任何调整后,迁移助手将验证并迁移对象及其依赖项。 迁移已固定的对象后,“主要对象”选项卡将更新新的优先排序对象列表。 修复主要对象可能会导致主要对象计数保持不变,甚至增加。 例如,因依赖于多个其他损坏对象(包括对象 A)而导致对象 B 损坏。在这种情况下,修复对象 A 会修复 B 中某些但并非全部的错误,并导致 B 从依赖对象变为主要对象。

安全性

大多数安全对象类型,包括角色、权限(如 GRANT/REVOKE/DENY),以及动态数据掩码都有望自动迁移。 某些对象(如 SQL 经过身份验证的用户或列级加密)需要更新才能在 Fabric 中工作。 这些问题在迁移助手的修复问题列表中有标记。

SQL 身份验证用户需要被替换为 Microsoft Fabric 中使用 Microsoft Entra 的用户。 确保他们可以通过 Microsoft Entra ID 登录到 Fabric,然后使用“管理权限”或“共享对话框”将其添加到 Fabric 中的仓库。 若要添加用户,管理员/成员必须具有“重新共享”权限。

在复制数据之前,请确保修复无法迁移的安全对象并查看是否已设置所需的安全性,以便用户没有意外访问敏感信息。

局限性

目前,源仓库和 Fabric 仓库之间没有完全的 T-SQL 兼容性。 有关详细信息,请参阅:

一些不受支持的常见功能的解决方法:

问题 解决方法
SQL 身份验证 将 SQL 身份验证用户替换为 Microsoft Entra 身份验证作为 SQL 身份验证的替代方法
列级加密 使用替代方法来保护数据,例如在应用程序层实现加密和 Fabric 数据仓库中的动态数据掩码,以模糊处理敏感数据。
标量函数 迁移助手当前不会迁移标量用户定义函数(UDF)。 Fabric 数据仓库支持标量 UDF,但仅在内联时(目前为预览版)。 有关详细信息,请参阅 CREATE FUNCTION标量 UDF 内联
标识列 Fabric 数据仓库中的 IDENTITY 列的行为与其他平台(如 SQL Server)的行为不同。 有关更多详细信息,请参阅 了解 Fabric 数据仓库中 IDENTITY 列的概念
临时表 使用常规表。

Microsoft Fabric 数据仓库中不再需要以下不受支持的功能:

  • 索引
  • 透明数据加密 (TDE):Fabric 中不需要,因为 Fabric 已经通过更高级的方法来加密数据。 有关详细信息,请参阅 Fabric 数据仓库中的数据加密

你可能看到的其他当前不支持的功能:

  • 外部表
  • 多语句表值函数 (TVF)

后续步骤