Шифрование данных на уровне колонок
SQL Server 2005 позволяет осуществить защиту данных на уровне колонок за счет шифрования хранимой в них информации. Он поддерживает также шифрование самих хранимых данных, полностью интегрированное с инфраструктурой управления ключами. Для этой цели служат встроенные функции EncryptByCert, DecryptByCert, EncryptByKey, DecryptByKey, EncryptByAssym, DecryptByAssym, позволяющие использовать шифрование с помощью сертификата, симметричного и асимметричного ключей в коде Transact-SQL. Необходимо, тем не менее, помнить о том, что шифрование данных может привести к потере производительности, поэтому при создании решений рекомендуется шифровать только конфиденциальные данные и осуществлять тестирование производительности готового решения.
Осуществляя шифрование на уровне колонок, следует также понимать, что зашифрованные данные нельзя сортировать, фильтровать и индексировать, и независимо от того, каким был тип исходных (незашифрованных) данных, их зашифрованная версия должна храниться как VARBINARY ().