Копирование активности автоматически создает столбцы nvarchar(max)
У меня есть действие копирования фабрики данных Azure, которое загружает паркетные файлы в Azure Synapse. Раковина настроена, как показано ниже:
После завершения загрузки данных у меня была такая структура промежуточной таблицы:
Затем я создаю временную таблицу на основе stg one, и она работала нормально до сегодняшнего дня, когда новые созданные таблицы внезапно получили тип nvarchar (max) вместо nvarchar(4000):
Создание временной таблицы теперь завершается неудачно с очевидной ошибкой: столбец «currency_abbreviation» имеет тип данных, который не может участвовать в индексе columnstore.
Почему определение таблицы AutoCreate было изменено и как я могу вернуть ее к «нормальному» поведению без столбцов nvarchar (max)?
1 ответ
У меня точно такая же проблема! Я использую фабрику данных для чтения csv-файлов в свое хранилище данных Azure, и это раньше приводило к столбцам nvarchar(4000), но теперь все они nvarchar(max). Я также получаю сообщение об ошибке. Столбец xxx имеет тип данных, который не может участвовать в индексе columnstore.
На данный момент мое решение состоит в том, чтобы изменить мой код SQL и использовать CAST для изменения форматов, но в фабрике данных должна быть настройка, чтобы вернуть прежние результаты ...