Sql 加密数据库时是否存在性能差异?

Sql 加密数据库时是否存在性能差异?,sql,sql-server-2008,Sql,Sql Server 2008,我只是想知道,当数据库加密打开时,存储过程和内联查询是否有任何性能差异 如果是,你能解释一下什么时候性能好,什么时候性能差吗?@AnandPhadke-米奇的意思是会有开销。需要进行加密和解密,因此无论何时进行这些操作,都会产生开销 在软件SQL Server的企业版和开发者版中 2008年,透明数据加密(TDE)的一个新的安全特性出现了 包括在内。它对总体性能有轻微的负面影响 关于sqlserver优化。其范围为3%至5%。 但是,如果大部分数据存储在内存中,则影响不大 较小的 资料来源: “

我只是想知道,当数据库加密打开时,存储过程和内联查询是否有任何性能差异


如果是,你能解释一下什么时候性能好,什么时候性能差吗?

@AnandPhadke-米奇的意思是会有开销。需要进行加密和解密,因此无论何时进行这些操作,都会产生开销

在软件SQL Server的企业版和开发者版中 2008年,透明数据加密(TDE)的一个新的安全特性出现了 包括在内。它对总体性能有轻微的负面影响 关于sqlserver优化。其范围为3%至5%。 但是,如果大部分数据存储在内存中,则影响不大 较小的

资料来源:

“如果服务器上有任何其他数据库,则tempdb系统数据库将被加密 SQL Server的实例是使用TDE加密的。这可能有 对同一实例上的未加密数据库的性能影响 有关tempdb系统数据库的更多信息,请参阅 tempdb数据库。“


来源:

根据我对SQL2008的DBA经验,对最终用户的性能影响很小,原因如下:

加密仅在写入和读取数据库文件(.DBF)和备份时发生。一旦数据进入内存,它就不会被加密,查询的运行速度与正常运行速度一样快

在SQL 2005中,整个加密过程过去是很隐蔽的,并且有明显的性能损失,但是在SQL 2008中,加密表或整个数据库的过程只需要几分钟(而且说明很容易遵循-)

该过程基本上分为三个步骤:

  • 创建公共/私有证书密钥(有一个存储过程)
  • 打开数据库的加密
  • 然后保存数据库 正在加密的数据库将切换到单用户模式一两分钟,同时以加密形式重新写入数据库文件,但这不会花费很长时间。例如,50GB文件的转换最多需要几分钟


    祝你好运,确保你不会丢失证书密钥!给自己发电子邮件,因为如果你需要从备份中恢复或将MDF文件移动到另一台服务器,没有证书文件你就完蛋了。(别担心,这些都在我列出的MS文档中详细说明了)。

    当然有一些开销。没有任何东西是免费的……也许这可能会引起人们的兴趣:@Mitch所以在SQl server 2008中,TDE是为了保护数据不受FT的影响,它不会在性能上做任何改进,也不会降低性能?一般认为,在处理安全问题时,相当谨慎的心态是合适的。考虑到这一点,可能值得考虑的是,一旦私人证书通过电子邮件发送给任何人,就应该将其视为已被泄露(由于在传输过程中或在电子邮件提供商的服务器上进行拦截)。如果密钥是用强密码短语加密的,也许人们可以不那么谨慎,但肯定有一些用例甚至认为这还不够好。