我只是想知道,当数据库加密开启时,存储过程和内联查询的性能是否存在差异?
如果是,你能解释一下什么时候表现好,什么时候表现不好?
发布于 2012-11-02 20:25:54
根据我的数据库管理员使用SQL2008的经验,这对最终用户的性能影响很小,原因是:
仅当对数据库文件(.DBF)和备份进行写入和读取时,才会进行加密。一旦数据进入内存,它就会被解密,查询的运行速度与正常一样快。
整个加密过程过去在SQL2005中是可怕的,并且有一个显著的性能损失,但在SQL2008中,加密表或整个数据库的过程只需要几分钟(并且说明很容易遵循- http://msdn.microsoft.com/en-us/library/cc278098(v=sql.100).aspx。
这个过程基本上需要三个步骤:
被加密的数据库将在一两分钟内切换到单用户模式,同时以加密的形式重写数据库文件,但这不会花费很长时间。例如,转换一个50 at的文件最多需要几分钟。
祝你好运,并确保你不会丢失证书密钥!将它们通过电子邮件发送给您自己,因为如果您需要从备份中恢复或将MDF文件移动到另一台服务器,如果没有cert文件,您将一团糟。(不用担心,在我列出的MS文档中都有详细说明)。
发布于 2012-11-02 19:40:56
@AnandPhadke -米奇的意思是会有开销。加密和解密将需要完成,因此无论何时发生这两个操作都会产生开销。
在软件SQL Server2008的企业版和开发版中,包含了透明数据加密(TDE)的新安全功能。它对SQL Server优化的整体性能有轻微的负面影响。这是在3%到5%的程度。但是,如果大多数数据存储在内存中,则影响较小。
来源:SQL Server Optimization And The Performance Impact Of Encryption
“如果使用TDE加密SQL Server实例上的任何其他数据库,则将加密tempdb系统数据库。这可能会对同一SQL Server实例上的未加密数据库产生性能影响。有关tempdb系统数据库的详细信息,请参阅tempdb数据库。
来源:Transparent Data Encryption (TDE)
https://stackoverflow.com/questions/13192667
复制相似问题