SQL Server 2008引入透明数据加密(Transparent Data Encryption),
它允许你完全无需修改应用程序代码而对整个数据库加密。当一个用户数据库可
用且已启用TDE时,在写入到磁盘时在页级实现加密。在数据页读入内存时解密
。如果数据库文件或数据库备份被盗,没有用来加密的原始证书将无法访问。

TDE Demo:

--在还原数据库之前必须还原证书,否则数据无法被还原
--错误提示:找不到指纹为'XXX' 的服务器证书。
use master;
GO
--还原证书DB_TDE_cert
CREATE CERTIFICATE DB_TDE_cert
FROM FILE = 'E:\DB_TDE_cert.cer'
WITH PRIVATE KEY (FILE = 'E:\DB_TDE_cert.pvk',
DECRYPTION BY PASSWORD = 'Tde@sql123')
GO
--还原数据库
RESTORE DATABASE [TestDB] FILE = N'TestDB'
FROM DISK = N'E:\TestDB.BAK' WITH FILE = 1,
MOVE N'TestDB' TO N'E:\DB\\TestDB.mdf',
MOVE N'TestDB_log' TO N'E:\DB\\TestDB_0.LDF',
NOUNLOAD, STATS = 10
GO

还原被TDE加密的数据库备份

use master
GO
SELECT name,is_master_key_encrypted_by_server FROM sys.databases; --查看master数据库下的密钥信息
SELECT * FROM sys.symmetric_keys; --创建证书用来保护数据库加密密钥(DEK)
CREATE CERTIFICATE DB_TDE_cert
WITH SUBJECT = N'DB_TDE_cert'; --备份证书
BACKUP CERTIFICATE DB_TDE_cert
TO FILE = 'D:\DB_TDE_cert.cer'
WITH PRIVATE KEY (
FILE = 'D:\DB_TDE_cert.pvk' ,
ENCRYPTION BY PASSWORD = 'Tde@sql123' ); ---创建测试DB
IF(DB_ID('TestDB') IS NOT NULL)
BEGIN
DROP DATABASE TestDB
END
GO
CREATE DATABASE TestDB
GO USE TestDB;
GO
--创建由master_server_cert保护的DEK 数据库加密密钥(对称密钥)
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE DB_TDE_cert;
GO
--将数据库改成单用户模式
use master
GO
ALTER DATABASE TestDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
--开始数据加密
ALTER DATABASE TestDB SET ENCRYPTION ON;
GO
--将数据库设置为多用户模式
ALTER DATABASE TestDB SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO --查看数据库加密模式
SELECT DB_NAME(database_id),encryption_state
FROM sys.dm_database_encryption_keys;

管理删除TDE

USE TestDB
GO
--修改加密算法
ALTER DATABASE ENCRYPTION KEY REGENERATE WITH ALGORITHM = AES_128
Go
USE master
GO
--创建新的证书
CREATE CERTIFICATE TDE_Server_Certificate_V2
WITH SUBJECT = 'Server-level cert for TDE V2'
GO
USE TestDB
GO
--用新证书修改DEK
ALTER DATABASE ENCRYPTION KEY
ENCRYPTION BY SERVER CERTIFICATE TDE_Server_Certificate_V2 --移除数据库透明加密
ALTER DATABASE DB_Encrypt_Demo SET ENCRYPTION OFF
GO
--移除TDE后,可以删除DEK
USE TestDB
GO
Drop DATABASE ENCRYPTION KEY
GO

TDE--相关Demo的更多相关文章

  1. IO相关Demo

    这几天复习了IO相关知识 只为记录,好记性不如烂笔头 有误请指正 ありがとうございます. 我的公众号 作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1.判断存在,存在改名,并延迟删除,不存在新建 ...

  2. java操作HDFS相关demo(TDH,kerberos认证)

    public class Test {     private static Configuration conf;     private static FileSystem fs;     //开 ...

  3. 腾讯云>>云通信>>TLS后台API在mac上JAVA DEMO搭建

    1.相关文档地址 2.相关demo代码 代码部分作了修改,使用了commons-io中的IOUtils.toString简化了io操作 public class Demo { public stati ...

  4. 微信小程序--图片相关问题合辑

    图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.preview ...

  5. iOS 神秘而又强大的传感器系统 (附demo)

    iOS中的各种传感器: 随着科技的发展,机器感知人的行为!Goole的无人驾驶汽车到李彦宏的无人驾汽车,都带入了各种计算及传感. 为了研究自然现象和制造劳动工具,人类必须了解外界的各类信息.了解外界信 ...

  6. Android开发之深入理解Android 7.0系统权限更改相关文档

    http://www.cnblogs.com/dazhao/p/6547811.html 摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限 ...

  7. WebAssembly相关

    git搜索:https://github.com/search?q=WebAssembly 相关demo:https://github.com/jpmorganchase/perspective we ...

  8. 机器视觉-EasyDL商品检测-标准版-Demo

    机器视觉-EasyDL商品检测-标准版 功能: EasyDL是百度大脑中的一个定制化训练和服务平台,EasyDL零售版是EasyDL针对零售场景推出的行业版,定制商品检测服务是EasyDL零售版的一项 ...

  9. 阿里云直播 C# SDK 如何使用

    阿里云直播SDK的坑 1.直播云没有单独的SDK,直播部分被封装在CDN的相关SDK当中. 2.针对SDK,没有相关Demo. 3.针对SDK,没有相关的文档说明. 4.针对SDK的说明,官网上的说明 ...

  10. 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序

    直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...

随机推荐

  1. 关于微软的.NET版本系列

    .net的不同版本的区分,感觉十分坑,搞开发的不能还去研究他们的版本含义或差异吧!下面为整理的一些相关内容: 一..NET的那些版本 .net framework 版本是可以向后兼容的,安装高版本的可 ...

  2. C# HTTP请求GET,POST

    转自原文 [C#]HTTP请求GET,POST HTTP定义了与服务器交互的不同方法,基本方法有GET,POST,PUT,DELETE,分别对于查,该,增,删.一般情况下我们只用到GET和POST,其 ...

  3. easyui隐藏列

    1.$("#test-datagrid").datagrid('hideColumn', 'password');其中第二个参数为对应的域,即field 2. <th dat ...

  4. 【原】Coursera—Andrew Ng机器学习—Week 11 习题—Photo OCR

    [1]机器学习管道 [2]滑动窗口 Answer:C ((200-20)/4)2 = 2025 [3]人工数据 [4]标记数据 Answer:B (10000-1000)*10 /(8*60*60) ...

  5. aop中的顾问

    通知只能指定织入的时间点,目标方法之前,之后,环绕,还是异常时. 要想指定切入点就要使用顾问

  6. apktool.bat

    @echo off if "%PATH_BASE%" == "" set PATH_BASE=%PATH% set PATH=%CD%;%PATH_BASE%; ...

  7. [KVM][guestfs] 安装 guestfs-python 出错

    pip install http://download.libguestfs.org/python/guestfs-1.36.13.tar.gz 执行后出错: 然后百度.谷歌,都是说安装 gcc 或者 ...

  8. apply-register-acl 参数允许FreeSWITCH分机注册/拨打不验证密码

    今天调试 发现 注册的分机 的 `Auth-User` 居然是 `unknown` !!! 怎么回事? 仔细对比检查 发现, internal profile 指定了 `apply-register- ...

  9. Android开发实战之拥有Material Design风格的折叠布局

    关于折叠布局,也许你并不陌生,最新版的陌陌,或者一些其他的社交APP都有一个折叠布局.折叠布局,让我们的APP更加具有交互性,同时也更加美观,先来展示一下效果图: 这是我个人做的一个APP主界面,可以 ...

  10. Chrome谷歌浏览器屏蔽百度搜索右侧广告推荐方法

    先上图百度广告,其实屏蔽广告很简单 主要分成以下三步: 下载Adblock Plus插件 安装Adblock Plus插件 开启屏蔽 一.下载Adblock Plus插件(官网离线版) 二.安装Adb ...