Fabric 数据仓库的限制

适用于:✅Microsoft Fabric 中的 SQL 分析终结点和数据仓库

本文详细介绍了 Microsoft Fabric 中的当前限制。

这些限制仅适用于 Fabric Synapse 数据仓库中的仓库和 SQL 分析终结点项。 有关 Fabric 中 SQL 数据库的限制,请参阅 Microsoft Fabric 中的 SQL 数据库中的限制(预览版)。

限制

本文列出了 Microsoft Fabric 中数据仓库的当前常规产品限制,相应的功能文章中列出了功能级别限制。 更多功能将建立在世界一流、行业领先的性能和并发案例基础上,并且将逐步推出。 有关 Microsoft Fabric 的未来的详细信息,请参阅 Fabric 路线图

重要

Fabric 数据仓库和 SQL 分析终结点连接要求源项和目标项位于同一区域中。 不支持跨区域连接(包括不同区域中的工作区或容量的连接),可能无法进行身份验证或连接。

有关特定区域的更多限制,请参阅:

SQL 分析终结点的限制

以下限制适用于 SQL 分析终结点自动架构生成和元数据发现。

  • 数据应采用 Delta Parquet 格式,以便在 SQL 分析终结点中自动发现。 Delta Lake 是一个开源存储框架,可用于构建湖屋体系结构

  • 支持按名称进行增量列映射,但不支持按 ID 进行增量列映射。 有关详细信息,请参阅 Delta Lake 功能和 Fabric 体验

  • /tables 文件夹外创建的 Delta 表在 SQL 分析终结点中不可用。

    如果在仓库中看不到湖屋表,请检查该表的位置。 只有引用 /tables 文件夹数据的表才在仓库中可用。 引用湖中 /files 文件夹数据的表不会在 SQL 分析终结点中公开。 解决方法是将数据移动到 /tables 文件夹。

  • Spark Delta 表中存在的某些列可能无法在 SQL 分析终结点的表中使用。 有关受支持的数据类型的完整列表,请参阅 Fabric 数据仓库中的数据类型

  • 如果在 SQL 分析终结点中的表之间添加外键约束,则将无法进行任何进一步的架构更改(例如,添加新列)。 如果没有看到包含 SQL 分析终结点中应支持的类型的 Delta Lake 列,请检查是否存在可能阻止表更新的外键约束。

  • 有关 SQL 分析终结点性能的信息和建议,请参阅 SQL 分析终结点性能注意事项

  • 内联时支持标量 UDF。 有关详细信息,请参阅 CREATE FUNCTION标量 UDF 内联

  • varchar(max) 数据类型仅在镜像项和 Fabric 数据库的 SQL 分析终结点中受支持,不适用于 Lakehouses。 在 2025 年 11 月 10 日之后创建的表将自动映射到 varchar(max)。 需要在 2025 年 11 月 10 日之前创建的表重新创建以采用新的数据类型,或者在下次架构更改期间自动升级到 varchar(max)。

数据截断至 8 KB 仍然适用于 Lakehouse 的 SQL 分析端点中的表,包括通向镜像项的快捷方式。

由于所有表都不支持这些列上的 varchar(max) 联接,如果其中一个表仍有数据截断,则可能无法按预期工作。 例如,如果使用 Spark 将新创建的镜像项表通过 CTAS 放入 Lakehouse 表中,然后使用 varchar(max) 列进行联接,则查询结果将与使用 varchar(8000) 数据类型时的结果不同。 如果想要保持以前的行为,可以在查询中将列强制转换为 varchar(8000)

可以使用以下 T-SQL 查询来确认表是否具有架构元数据中的任何 varchar(max) 列。 max_length-1 表示 varchar(max)

SELECT o.name, c.name, type_name(user_type_id) AS [type], max_length
FROM sys.columns AS c
INNER JOIN sys.objects AS o
ON c.object_id = o.object_id
WHERE max_length = -1 
AND type_name(user_type_id) IN ('varchar', 'varbinary');

已知问题

有关 Microsoft Fabric 中的已知问题,请访问 Microsoft Fabric 已知问题