首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >透明数据加密

透明数据加密
EN

Database Administration用户
提问于 2015-12-21 14:29:22
回答 2查看 840关注 0票数 8

在Server 2008中配置TDE时是否有最佳实践?在SQLMag上,“透明数据加密常见问题”说CPU的使用率可能增加了30%?

除了增加服务器马力之外,DBA在打开TDE时还有什么其他的功能吗?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2015-12-21 14:41:08

  1. 我还注意到,如果您使用的是备份压缩功能,则此特性与TDE一起使用效果不太好。我们已经注意到一个极小的压缩率,几乎可以忽略不计。因此,如果使用备份压缩,请考虑这一点。
  2. 我相信您会知道,但是只是想添加一下,TDE可以用于企业版,因此在为TDE设置SQL服务器时也要考虑这一点。
  3. TDE不提供单元级加密提供的特定于用户或数据库角色的相同的粒度控制。
  4. 确保加密密钥安全地存储在一个安全的位置,在发生还原场景时可以访问该位置。熟悉如何恢复已加密到新服务器的数据库。(最初是乔纳森·费特的评论)。
票数 7
EN

Database Administration用户

发布于 2015-12-23 10:49:00

首先,在对数据库进行加密之前,备份主密钥和证书,然后脱机存储。不要等到应用了TDE之后才这样做。还可以将密码存储在密码库中,并明确哪些密码与哪个对象相关;您确实不希望丢失这些密码。

TDE对数据库的影响完全取决于所涉及的工作负载:我最近将TDE应用于数据仓库,而对夜间负载的性能影响则为零,这表明流程不受CPU约束。但是,对于您的数据库来说可能不是这样。因此,如果您可以首先在dev环境上测试工作负载,那么就这样做。

加密的不仅仅是文件中的数据: TDE还将加密tempDB,因此如果您有其他数据库大量使用TempDB,您可能会注意到性能受到影响。备份和快照也是加密的。

还要考虑是否需要将此数据库恢复到其他环境(例如测试或UAT)。您需要将用于加密数据库的证书还原到这些其他服务器。这听起来可能不是什么大问题,但如果您在任何这些环境中都没有企业或开发人员,那么这可能会变得非常昂贵。在整个环境中应用TDE的另一种方法是将数据库还原到介于中间的实例,即企业/开发人员,或者对敏感数据进行扰扰,或者放弃加密,创建一个新的备份以恢复到其他环境。第二个选择可能不是最明智的,但它总是一个选择.

打开TDE时,有两个锁应用于数据库:共享锁和update锁。TechNet充分说明了这一点:

当启用(或禁用) TDE时,在sys.databases目录视图中将数据库标记为加密,并将DEK状态设置为Encryption。服务器启动一个后台线程(称为加密扫描或扫描),该线程扫描所有数据库文件并对它们进行加密(如果禁用TDE,则对它们进行解密)。当DDL执行时,数据库上会有一个更新锁。加密扫描异步运行到DDL,采用共享锁。所有与这些锁不冲突的正常操作都可以继续进行。排除的操作包括修改文件结构和分离数据库。虽然从缓冲池向磁盘的正常数据库写入是加密的,但日志文件写入可能不是。扫描还强制对虚拟日志文件(VLF)进行滚转,以确保将来对日志的写入是加密的。

我的经验是,数据仓库几乎没有在白天使用,一夜之间大量使用,所以我能够在一天中尽量少地使用TDE。如果您正在对生产中的OLTP进行加密,那么最好在维护窗口中对此进行计划,以尽量减少问题。

编辑:也是在压缩方面;虽然TDE确实会影响备份压缩,但它不会影响行/页/列存储压缩。因此,如果要平衡备份造成的压缩损失,可以压缩数据库中的对象。同样,取决于您的工作负载,您可能/可能不希望实现对数据库的压缩,因为它将进一步加重CPU的压力。有一篇关于压缩实现的优秀TechNet文章:https://technet.microsoft.com/en-us/library/dd894051%28v=sql.100%29.aspx

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/124241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档