TDE可以为我们的数据库提供加密保护,但是,不是任何情况下都可以随意开启TDE的,同时开启TDE后,我们的数据库维护管理工作也需要进行一些调整。

下面我们就先看看开启TDE需要的条件吧!

无法正常开启TDE的情况只有一种,那就是数据库中有只读文件组

一般,我们查询sys.dm_database_encryption_keys可以得到DEK的状态,encryption_state为1、2、3、4、5分别表示没有加密、加密中、已加密、密钥改变中、解密中的状态。正常情况下,当我们设置正确并开启TDE后,encryption_state=3,表示表示TDE开启,数据库已加密。但是当数据库中有只读文件组的时候,我们设置正确并开启TDE时,SQL Server不会有任何异常,打开数据库属性窗口也可以看到TDE已开启。不过我们会发现,encryption_state永远等于2,也就是说一直处于加密中状态而无法完成。所以,如果数据库有只读文件组,那么将无法成功开启TDE。

另外一种情况是,如果数据库使用了filestream数据类型VARBINARY(MAX),那么文件流数据类型将不会被加密,不过数据库本身还是可以使用TDE来进行加密的。

再来看看开启TDE后,都会造成哪些影响。

首先考虑的是数据库的恢复

因为开启TDE后,数据库的数据文件、日志文件、备份文件都会被加密,所以如果没有TDE的证书备份的话,将无法进行数据库的恢复。这里不仅仅指数据库备份的恢复,还包括事物日志传送和数据库镜像等,如果辅助服务器上没有有效的TDE证书,那么事物日志传送和数据库镜像都会失败。

其次我们看下数据库的备份压缩

在SQL Server 2008上,正常的数据库备份压缩,可以达到90%以上的压缩比,即压缩后的文件只有压缩前的10%以下的大小;但是开启TDE后,备份压缩的效率就非常不明显了,压缩后的文件差不多都是压缩前的90%以上。

最后,还有一个问题是系统临时数据库tempdb。

如果在SQL Server实例上的任何数据库上开启了TDE,那么这个实例上的tempdb也将会自动加密,这将导致其他未开启TDE的数据库在使用tempdb数据库时性能下降。

基本上,开启TDE所要考虑的方面就是以上5点。如果你想开启TDE用来保护数据库,而且你的数据库中没有只读文件,也没有filestream数据类型或者有filestream数据类型,但是这个类型的数据不加密也可以接受,并且你也考虑到了数据库恢复、备份压缩以及tempdb数据库使用上会有一些变化,这些变化都不会对的系统造成重大的影响,你都可以接受的话,那么你就可以开启TDE了。

何时可以开启透明数据加密(TDE)?的更多相关文章

  1. Oracle数据安全解决方案(1)——透明数据加密TDE

    Oracle数据安全解决方案(1)——透明数据加密TDE2009年09月23日 22:49:00 华仔爱技术 阅读数:7991原文地址: http://www.oracle.com/technolog ...

  2. SQLServer · 最佳实践 · 透明数据加密TDE在SQLServer的应用

    转:https://yq.aliyun.com/articles/42270 title: SQLServer · 最佳实践 · 透明数据加密TDE在SQLServer的应用 author: 石沫 背 ...

  3. 透明数据加密 (TDE)常见问题解答

    透明数据加密 (TDE)常见问题解答问题任何人只要有权访问加密数据就能对其进行解密吗?TDE 会带来哪些开销?哪些加密算法可与 TDE 一同使用?可以使用第三方加密算法代替 TDE 提供的算法吗?可以 ...

  4. 第九篇 SQL Server安全透明数据加密

    本篇文章是SQL Server安全系列的第九篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  5. 【译】第九篇 SQL Server安全透明数据加密

    本篇文章是SQL Server安全系列的第九篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  6. Oracle-11g 中使用表空间透明数据加密(TDE)

    Oracle-11g 中使用表空间透明数据加密(TDE)的限制 TDE 表空间加密方式会在数据读写过程中加解密数据.与在 SQL 层面做加解密的 TDE 列加密方式相比,其限制要大幅减少.例如:数据类 ...

  7. SQL Server安全(9/11):透明数据加密(Transparent Data Encryption)

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  8. QQ2010如何开启透明效果皮肤

    QQ2010可在WIN7下实现皮肤透明效果. 腾讯已于近日发布了QQ2010的BETA版本,经笔者试验,可在WIN7下实现皮肤透明化效果. 设置如下: 1.先打开QQ皮肤控制面板,如下: 2.然后任选 ...

  9. 在SQL Server 2008中执行透明数据加密

    问题 安全是任何公司的一个主要考量.数据库备份容易被偷并被恢复到另一个SQL Server实例上.当我们浏览SQL Server 2008的新特性时,我们对一个叫做透明数据加密的特性很感兴趣,我们可以 ...

随机推荐

  1. 微信分享jssdk config:invalid signature 签名错误

    使用微信分享时,按照官方给的demo,使用时一直提示签名错误. 根据微信开发文档(http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd ...

  2. php中的时区设置

    date_default_timezone_set('PRC'); 设置为中国时区

  3. NPM下载出错 No compatible version found

    前言 NPM大家都熟,天天都在用.最近,NPM不断出现的下载出错 “npm ERR! Error: No compatible version found” ,已经影响到正常的开发工作,到了不得不解决 ...

  4. sqlserver2008 case when then else end

    在写sql语句的时候,有时候我们需要对字段的只进行判断计算.查看了下相关文档在sql2012.sql2014里边可以使用  IIF 函数直接完成. 但是现在我需要在sql2008版本中完成最字段的计算 ...

  5. 分布式批处理平台(wolf)简介

    "wolf"即狼,狼的适应性很强.可栖息范围包括苔原.草原.森林.荒漠.农田等多种生境:具有敏锐的观察力.专一的目标.默契的配合,它们总能依靠团体的力量达成目标. 分布式批处理平台 ...

  6. 开心菜鸟系列学习笔记-------javascript(3)

    一.原型链:     1)Object 是一个属性的集合,并且都拥有一个单独的原型对象.,这个原型对象object可以是一个object或者null值 2)不过一般来说,我们会使用__内部属性名__下 ...

  7. FPGA技术的一些基本概念(综合、BlackBox)(转)

    原文:http://blog.sina.com.cn/s/blog_6254a8ca0100i0wr.html 原文也是转的,哈哈,大家多转转,转转更健康.删除了一些Xilinx的东西 前言 综合是将 ...

  8. Android 之Activity切换动画效果

    在Activity中Android提供了overridePendingTransition(int enterAnim,int exitAnim)这个方法用于设置Activity之间切换的动画效果.o ...

  9. 管理Activity 用户在主界面按两次回退退出系统

    1:定义一个用于管理Activity的类. /* * 用于管理Activity */ public class SysApp extends Application{ private List< ...

  10. WPF InkCanvas MouseDown及MouseLeftButtonDown事件不触发的代替事件

    PreviewMouseDown事件可以触发  再通过e.LeftButton 的状态判断是否按钮被按下 特此备忘