Я пишу веб-приложение, которое в какой-то момент в будущем должно будет выполнять шифрование на уровне столбца части данных, которые он хранит в нашей базе данных, работающей на SQL Server 2008 Express.
Это упростило бы разработку приложений через beta1 при записи данных в виде открытого текста, а затем добавило бы шифрование между beta1 и beta2. Возможно ли это в SQL Server 2008 Express? Есть ли у такого подхода существенные недостатки?
Поскольку шифрование на уровне столбцов полностью контролируется вашим приложением, вам решать, когда это делать. Если вы планируете шифрование данных позже, я бы добавил в таблицу столбец, который сообщает вам, какой тип шифрования используется в этой строке.
Это может быть битовый флаг IsEncrypted или более сложный внешний ключ для таблицы, в которой перечислены различные сертификаты, которые могут использоваться для шифрования данных (таким образом, когда сертификат необходимо заменить, у вас есть простой способ определить, какие строки были зашифрованы каким сертификатом).
Затем добавьте логику в приложение, чтобы использовать этот дополнительный столбец, чтобы выяснить, как и когда шифровать / дешифровать значения.