0

I am just wondering to whether is there any performance difference in stored procedures and inline queries when database encryption is turned on?

If yes, could you explain when the performance is good and when it's bad?

4

2 回答 2

2

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

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

整个加密过程在 SQL 2005 中曾经很可怕,并且存在显着的性能损失,但在 SQL 2008 中,加密表或整个数据库的过程只需几分钟(而且方向很容易遵循 - http:// msdn.microsoft.com/en-us/library/cc278098(v=sql.100).aspx )。

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

  1. 创建公共/私人证书密钥(有一个存储过程)。
  2. 打开数据库的加密。
  3. 然后保存分贝。

当数据库文件以加密形式重写时,被加密的数据库将切换到单用户模式一两分钟,但这不会花费很长时间。例如,转换一个 50GB 的文件最多需要几分钟。

祝您好运并确保您不会丢失证书密钥!将它们通过电子邮件发送给您自己,因为如果您需要从备份中恢复或将 MDF 文件移动到另一台服务器,那么您在没有证书文件的情况下会被搞砸。(别担心,我列出的 MS 文档中都有详细说明)。

于 2012-11-02T12:25:53.827 回答
0

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

在软件 SQL Server 2008 的 Enterprise 和 Developer 版本中,包含了透明数据加密 (TDE) 的新安全功能。它对 SQL Server 优化有轻微的负面整体性能影响。它达到 3% 到 5% 的程度。但是,如果大部分数据都存储在内存中,则影响较小。

资料来源:SQL Server 优化和加密对性能的影响

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

来源:透明数据加密 (TDE)

于 2012-11-02T11:40:56.250 回答