SQL Server 2016 TDE Encryption на большом текстовом столбце - PullRequest
0 голосов
/ 06 мая 2020

Мы успешно реализовали SQL TDE (SQL 2016) для столбцов меньшего размера текста, но выдадут ошибку для больших столбцов

Структура таблицы

ID - value
1 - wanted to confirm her order for the install, adv that the activation date was set 
2 - Edward called to have his order processed. Order processed for 20M, leased modem and self install. Due date for the above to be renewed in end of the year
3 - was unable to transfer, no one answered, customer said that they have mpvs' number 
4- Placed order for modems

ALTER TABLE [TextValues]
add    value_encrypt varbinary(max)
go

UPDATE [TextValues]
SET value_encrypt=EncryptByKey (Key_GUID('SymKey_Encryption'), value)
FROM [TextValues];

"ОШИБКА: "Строка или двоичные данные будут проигнорированы. Заявление прекращено ».

1 Ответ

0 голосов
/ 06 мая 2020

Ваш вопрос не относится к TDE . TDE - это вариант низкоуровневого шифрования хранилища, который прозрачно шифрует данные в состоянии покоя (т.е. в файлах базы данных) без изменения кода приложения.

Функция ENCRYPTBYKEY T- SQL шифрует данные программно. Эта функция возвращает результат varbinary(8000). Вы получите ошибку усечения, когда зашифрованное значение превысит 8000 байт, поэтому его нельзя использовать для шифрования больших значений.

Если ваша цель - защитить данные в состоянии покоя, TDE проще всего реализовать, так как никаких изменений кода не требуется. обязательный. Данные могут быть дополнительно защищены по сети с помощью TLS-шифрования .

...