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. JAVA $ JSP

    1. java中数据类型分为两种   基本数据类型:数值型,字符型,布尔型   引用数据类型:类,接口,数组 基本数据类型所占空间固定,有别与C++,java中没有无符号数byte:1字节short: ...

  2. ubuntu中安装jdk

    1.下载jdk压缩包: http://download.oracle.com/otn-pub/java/jdk/7u55-b13/jdk-7u55-linux-x64.tar.gz 2.解压缩jdk ...

  3. AttributeError at /home/home/ Exception Type: AttributeError at /home/home/

    "错误提示信息": Environment: Request Method: GET Request URL: http://localhost:8000/home/home/ D ...

  4. URL传值中文乱码

    url含有中文 先encodeURI(url)编码 获取之后再解码decodeURI //加密 var param = "itname=" + slRows.ITNAME + &q ...

  5. gtest编译小结(ubuntu 12.10 , gtest 1.6.0)

    1 下载源码,解压之当前用户的主目录(~/) 2 进入make目录,执行make命令 cd ~/gtest-/make make 3 在ubuntu里编译出错,提示找不到lthread库.修改Make ...

  6. 解决PopupWindow遮住输入法

    1: PopupWindow中的设置 pop.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); pop.setSoftInputMode(Win ...

  7. (转载)Setup Factory 会话变量

    本文转自http://www.cnblogs.com/lzjsky/archive/2010/11/18/1880440.html 方便今后查询 Session variables are speci ...

  8. geoip 添加一列,add_field =>["[geoip][request_time]","%{request_time}"]

    "message" => " 10.171.246.184 [11/Sep/2016:14:42:53 +0800] \"GET /wechat/home ...

  9. 【转】 i2c驱动调试经验

    原文网址:http://blog.csdn.net/cmm20071020/article/details/7179958 把一个i2c驱动从2.6.21升级到2.6.39 上网查到一篇帖子,讲了驱动 ...

  10. 在CDHtmlDialog中处理WindowClosing

    要截获window.close(),就得截获CDHtmlDialog的WindowClosing.以下是示例代码: // header DECLARE_EVENTSINK_MAP() void Win ...