Azure SQL 数据仓库:varchar 类型的最大大小

Azure SQL Data Warehouse: max size of varchar type

我是 Azure 的新手,我在 Azure SQL 数据仓库的 table 中有这个字段:

[AnnotationText] varchar(MAX) NULL,

根据我从 https://docs.microsoft.com/en-us/sql/t-sql/data-types/char-and-varchar-transact-sql?view=sql-server-2017 中读到的内容:

但我看到的是大小为 8000 的错误消息:

Too long string in column [-1]: Actual len = [11054]. MaxLEN=[8000]

我尝试对大小进行硬编码,但任何大于 8000 的数字都无法像文档中写的那样工作。

我还发现一些文档说在 table 创建中应该使用 HEAP 或 CLUSTERED INDEX 类型,但它也没有帮助

知道哪里出了问题吗?

ADF documents Polybase 不支持(最大)数据类型。

一种常用的技术是在 ADF 中拆分文件,使用 Polybase 批量加载 LOB 数据,然后使用另一种技术稍后添加 LOB 数据。另一种更快的技术是使用 ADF 拆分 ,然后在摄取点使用分层在外部 table 上的视图重新组合它。

更好的方法可能是质疑为什么数据仓库中需要 LOB 数据。是否有可以使用的替代方法,具体取决于 LOB 的类型?例如,如果 LOB 表示文档,是否可以将其外部化为 DW table 中具有 link 的 blob 存储?

我正在使用 Databricks 通过 Polybase 将数据插入 Azure DW (Synapse)。我的数据集中有一个 nvarchar(500) 列,但它因同样的问题而失败。我发现在我的例子中,断点在 255 到 300 个字符之间。我最终将该列子字符串化为 250 个字符,因为内容对于报告目的并不重要。