如何验证列是SQL Server 2008中的加密密钥/值还是纯文本

时间:2015-09-02 12:55:39

标签: sql-server sql-server-2008

如何验证列是SQL Server 2008中的加密密钥/值还是纯文本?

1 个答案:

答案 0 :(得分:0)

SQL Server 2008中的单元级或列级加密是一种外部操作 - 这意味着SQL Server实际上并不知道它是加密的。您创建密钥,读取原始类型的纯文本数据,加密并将密码文本作为varbinary类型写回表中。这意味着如果您完成该过程,您将拥有一个varbinary类型的新列。

没有可以查询的目录视图,因为就SQL Server而言,它只是另一个varbinary列。如果原始类型不是varbinary,可以通过检查列的长度和/或类型来手动计算出来。如果要验证每行而不是整列,您还可以检查实际值或使用正则表达式。如果原始类型是varbinary,那么这可能不是设计解决方案的最佳位置。

相关问题