适用于: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 迁移助手进行迁移在很高的层次上涉及以下步骤:
- 使用 DACPAC 文件将对象的架构(例如表的定义)从源迁移到新的 Fabric 仓库。
- 使用迁移助手修复问题:更新无法自动迁移的对象的 T-SQL 类型和定义。
- 在 Fabric 数据工厂中使用复制作业复制数据。
- 测试和并行比较旧仓库和新仓库。 最后,从访问源仓库的应用程序重新路由连接,以使用新仓库。
已迁移的对象
迁移助手可帮助用户使用 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)