Используя проекты базы данных Visual Studio (SSDT), я добавил новый столбец в существующую таблицу. Я использую Always Encrypted для шифрования отдельных столбцов. Когда я добавляю столбец и пытаюсь опубликовать, я получаю всплывающее окно в Visual Studio, в котором говорится: «Значение не может быть нулевым. Имя параметра: reportElement».
Если я не шифрую столбец, он работает. Если я удалю существующие данные из таблицы, это сработает. Но просто попытка добавить новый зашифрованный столбец с нулевым значением не публикуется. Он даже не сгенерирует скрипт, который будет применен.
Я запустил ведение журнала daxFX и SSDT и просмотрел журналы с помощью средства просмотра событий Windows, но я просто вижу ту же ошибку «Значение не может быть нулевым. Имя параметра: ReportElement».
Вот как выглядит добавленное определение столбца.
[MyNewColumn] INT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = [DefaultColumnEncryptionKey], ENCRYPTION_TYPE = DETERMINISTIC, ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256') NULL
Я ожидаю, что Visual Studio успешно опубликует, добавив мой новый зашифрованный столбец, допускающий значение NULL, но фактическое поведение представляет собой всплывающее окно, в котором говорится: «Значение не может быть нулевым. Имя параметра: reportElement».