Copy activity auto-creates nvarchar(max) columns

1.5k views Asked by At

I have Azure Data Factory copy activity which loads parquet files to Azure Synapse. Sink is configured as shown below:

enter image description here

After data loading completed I had a staging table structure like this:

enter image description here

Then I create temp table based on stg one and it has been working fine until today when new created tables suddenly received nvarchar(max) type instead of nvarchar(4000):

enter image description here

Temp table creation now is failed with obvious error: Column 'currency_abbreviation' has a data type that cannot participate in a columnstore index.'

Why the AutoCreate table definition has changed and how can I return it to the "normal" behavior without nvarchar(max) columns?

1

There are 1 answers

1
Lalage On

I've got exactly the same problem! I'm using a data factory to read csv-files into my Azure datawarehouse and this used to result in nvarchar(4000) columns, but now they are all nvarchar(max). I also get the error Column xxx has a data type that cannot participate in a columnstore index.

My solution for now is to change my SQL code and use a CAST to change the formats, but there must be a setting in the data factory to get the former results back...