我有一个数据库,目前正在使用我的应用程序。我不想在我的应用程序CORE中更改任何东西。但我想加密DATA
和INFORMATION
其中stored
或is storing
在数据库中。如何加密SQL Server 2008数据库
SQL Server 2008
(或2008 R2)应该有一个内部机制来加密和解密提供给应用程序的信息。
如何让它工作? (使用Triggers
或其他任何需要对所有数据库,数字,字符串,布尔值,日期时间字段加密等
任何帮助appriciated
我有一个数据库,目前正在使用我的应用程序。我不想在我的应用程序CORE中更改任何东西。但我想加密DATA
和INFORMATION
其中stored
或is storing
在数据库中。如何加密SQL Server 2008数据库
SQL Server 2008
(或2008 R2)应该有一个内部机制来加密和解密提供给应用程序的信息。
如何让它工作? (使用Triggers
或其他任何需要对所有数据库,数字,字符串,布尔值,日期时间字段加密等
任何帮助appriciated
如果你想单元级加密,你应该自己做wayes)如果你想加密数据库文件,你可以使用Transparent Data Encryption (TDE)
+1中的信息来加密数据库文件,即使我不是这个意思。 – 2012-01-12 09:00:01
SQL 2008有TDE或,总数据库加密。这加密了整个数据库,并且对数据库的任何用户都是透明的。如何去了解它的详细信息可以在这两个微软文章中找到:
http://msdn.microsoft.com/en-us/library/cc278098%28v=sql.100%29.aspx
您可以替代,以期自己的真实表的INSERT INSTEAD OF添加和INSTEAD OF UPDATE触发器,创建几个用户定义的函数。您可能需要稍微修改您的应用程序。
取而代之的是,考虑在文件级别对模式保护使用加密。 DbDefence等工具可用于小型数据库的免费版本,适用于中型数据库,价格适中。
如果您真的按字段对所有内容进行了加密,您将失去索引优势并且性能会大幅下降。
自由选项:将数据库文件放在加密分区上。 然而这对DBA当然不会有什么区别。他将能够选择未加密的数据库。
有类似微软TDE的廉价解决方案称为DbDefence(是的,我与该公司相关联的)
正如你可能知道,微软将在SQL Server 2016调用来实现新的加密功能“始终加密”。 DbDefence自2005版以来一直使用SQL Server的这种方法。它确实有效,您不需要在应用程序中更改任何内容。
透明数据加密(TDE)
透明数据加密(TDE)是由微软和甲骨文开发加密数据库文件的技术。它提供文件级加密功能,并通过加密硬盘驱动器和备份介质上的数据库来保护静止数据。它不保护传输中的数据或正在使用的数据。
加密对于访问数据库的应用程序是完全透明的。它使用高级加密标准或三重DES加密对数据库的数据文件(.mdf)和日志文件(.ldf)中的数据进行加密。
可以使用相同的密钥来加密表中的所有列,而不管表中要加密的列数。数据库服务器主密钥为这些加密密钥提供加密,并存储在数据库的字典表中。
欲了解更多信息,请参阅链接 How to implement TDE encrytion on SQL Server
@Ehsan这种情况是不同的:在我的情况下,DBA能够看到和使用*表工作,*但数据是加密的,就像密码字段,没有人可以理解他们的含义。 'DBA'也可以删除,添加或编辑任何结构''(不要忘记这些是DBA工作)''。我只是想加密表 – 2012-01-12 09:34:36