#sql-server #tsql #encryption #ssms #always-encrypted
#sql-server #tsql #шифрование #ssms #всегда зашифрованный
Вопрос:
У меня есть столбец, который ранее был защищен всегда зашифрованным сертификатом. Было определено, что этот столбец не нуждается в шифровании, и мы хотели провести некоторый анализ, поэтому я вернулся и расшифровал столбец. Однако, когда я пытаюсь выбрать столбец в хранимой процедуре, я получаю следующее сообщение:
«Неявное преобразование значения varchar в varchar не может быть выполнено, поскольку сопоставление значения не разрешено из-за конфликта сопоставления между «Latin1_General_BIN2» и «SQL_Latin1_General_CP1_CI_AS» в операторе CASE».
В прошлом я получал это сообщение только при выборе из зашифрованного столбца, поэтому я не уверен, почему я все еще получаю его для этого расшифрованного столбца. Когда я щелкаю правой кнопкой мыши и выписываю схему таблицы, она больше не показывает никаких настроек шифрования или сортировки для этого столбца. Я также снова запустил мастер шифрования базы данных, и он показывает, что он также больше не защищает этот столбец. Итак, я не понимаю, почему база данных считает, что столбец все еще зашифрован.
Любые предложения будут высоко оценены. Спасибо.
Комментарии:
1. По умолчанию скрипты не включают параметры сортировки (для этого вам нужна задача создания сценария с пользовательскими параметрами), поэтому, скорее всего, столбец все еще использует нестандартные параметры сортировки (вероятно
Latin1_General_BIN2
, поскольку это имеет смысл для шифрования). Вы можете убедиться в этом, проверив свойства столбца в SSMS. Изменение параметров сортировки столбца — это не дешевая операция (она эффективно переписывает всю таблицу), но, к счастью, это не сложно.2. Это устранило мою проблему. Для всех, кто придет в будущем, вы можете увидеть параметры сортировки столбца, щелкнув правой кнопкой мыши столбец и проверив свойства. Чтобы обновить параметры сортировки, запустите скрипт типа «alter table имя_таблицы alter column имя_колонок_тип столбца collate SQL_Latin1_General_CP1_CI_AS null»