0

我有 Azure 数据工厂复制活动,它将 parquet 文件加载到 Azure Synapse。Sink 配置如下图:

在此处输入图像描述

数据加载完成后,我有一个这样的临时表结构:

在此处输入图像描述

然后我基于 stg one 创建临时表,它一直工作正常,直到今天新创建的表突然收到 nvarchar(max) 类型而不是 nvarchar(4000):

在此处输入图像描述

临时表创建现在失败并出现明显错误: 列“currency_abbreviation”的数据类型无法参与列存储索引。

为什么 AutoCreate 表定义已更改,如何在没有 nvarchar(max) 列的情况下将其恢复为“正常”行为?

4

1 回答 1

2

我有完全相同的问题!我正在使用数据工厂将 csv 文件读入我的 Azure 数据仓库,这曾经导致 nvarchar(4000) 列,但现在它们都是 nvarchar(max)。我还收到错误 列 xxx 的数据类型无法参与列存储索引。

我现在的解决方案是更改我的 SQL 代码并使用 CAST 更改格式,但数据工厂中必须有一个设置才能恢复以前的结果......

于 2021-02-16T10:45:03.830 回答