在SQL Server 2008中事后添加列级encryption?

我正在编写一个Web应用程序,它将来某个时候需要对运行在SQL Server 2008 Express上的数据库中存储的部分数据执行列级encryption

这将简化应用程序的开发,通过beta1进行devise,同时以明文logging数据,然后在beta1和beta2之间添加encryption。 这在SQL Server 2008 Express中可能吗? 采取这种方法是否有重大缺点?

由于列级别的encryption全部由您的应用程序控制,所以何时执行此操作完全取决于您。 如果您打算稍后对数据进行encryption,那么我会在表中添加一列,告诉您该行正在使用何种encryption方式。

它可能是一个标志“IsEncrypted”,或者一个更复杂的外键给一个表列出不同的证书,这些证书可以用来encryption数据(当证书需要被replace时,你可以很容易地识别哪些行已经用什么证书encryption了)。

然后在应用程序中添加逻辑来使用这个额外的列来找出如何/何时encryption/解密值。