Fabric 数据仓库迁移助手

适用于:✅ Microsoft Fabric 中的“仓库”模块

Fabric 迁移助手是 Fabric 原生内置的迁移功能。 它提供了向 Microsoft Fabric 的引导迁移体验。

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

小提示

有关迁移助手的分步迁移指南,请参阅通过上传文件迁移和通过连接到源系统迁移。

使用适用于 Data Warehouse 的 Fabric 迁移助手 进行迁移:

迁移步骤

迁移助手帮助你迁移到Fabric Data Warehouse。 你可以上传DACPAC文件,或者直接连接到源系统。

使用 Fabric 迁移助手进行迁移包括以下步骤:

  1. 通过上传源文件或连接到源系统,将对象模式(如表定义)迁移到新的 Fabric 仓库。
  2. 使用 迁移助手 通过更新无法自动迁移对象的 T-SQL 类型和定义来解决问题。
  3. 通过在 Fabric Data Factory 中的复制作业来复制数据。
  4. 测试并比较旧仓库和新仓库。 最后,从访问源仓库的应用程序重新路由连接,以使用新仓库。

已迁移的对象

迁移助手可通过上传 DACPAC 文件、上传包含 .bteq 或 .sql 文件的 zip 压缩包,或者连接到源系统,帮助你迁移到 Fabric Data Warehouse。 捕获的数据库对象元数据包括:

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

使用迁移助手修复问题

如果元数据无法迁移为 Fabric Data Warehouse 所支持的形式,或者代码无法适用于 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中工作。 迁移助手 会在“修复问题”列表中标记这些问题。

在 Microsoft Fabric 中用 Microsoft Entra 用户替换 SQL 认证用户。 确保他们能通过 Microsoft Entra ID 登录 Fabric,然后通过管理权限或共享对话框将他们添加到你的仓库。 要添加用户,管理员或成员必须拥有重分享权限。

在复制数据之前,确保修复那些未能迁移的安全对象,并检查你需要的安全措施是否已设置好,这样用户就不会意外接触到敏感信息。

局限性

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

下表列出了一些常见未受支持功能的变通方法:

问题 解决方法
SQL 身份验证 将 SQL 身份验证用户替换为 Microsoft Entra 身份验证作为 SQL 身份验证的替代方法。
列级加密 使用其他方法保护您的数据,比如在应用层实施加密,以及在 Fabric 数据仓库中使用动态数据掩蔽,以根据用户权限对敏感数据进行混淆处理。
标识列 Fabric 数据仓库中的 IDENTITY 列的行为与其他平台(如 SQL Server)的行为不同。 有关更多详细信息,请参阅 了解 Fabric 数据仓库中 IDENTITY 列的概念。

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

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

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

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

后续步骤