TDE--相关Demo
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的更多相关文章
- IO相关Demo
这几天复习了IO相关知识 只为记录,好记性不如烂笔头 有误请指正 ありがとうございます. 我的公众号 作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1.判断存在,存在改名,并延迟删除,不存在新建 ...
- java操作HDFS相关demo(TDH,kerberos认证)
public class Test { private static Configuration conf; private static FileSystem fs; //开 ...
- 腾讯云>>云通信>>TLS后台API在mac上JAVA DEMO搭建
1.相关文档地址 2.相关demo代码 代码部分作了修改,使用了commons-io中的IOUtils.toString简化了io操作 public class Demo { public stati ...
- 微信小程序--图片相关问题合辑
图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.preview ...
- iOS 神秘而又强大的传感器系统 (附demo)
iOS中的各种传感器: 随着科技的发展,机器感知人的行为!Goole的无人驾驶汽车到李彦宏的无人驾汽车,都带入了各种计算及传感. 为了研究自然现象和制造劳动工具,人类必须了解外界的各类信息.了解外界信 ...
- Android开发之深入理解Android 7.0系统权限更改相关文档
http://www.cnblogs.com/dazhao/p/6547811.html 摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限 ...
- WebAssembly相关
git搜索:https://github.com/search?q=WebAssembly 相关demo:https://github.com/jpmorganchase/perspective we ...
- 机器视觉-EasyDL商品检测-标准版-Demo
机器视觉-EasyDL商品检测-标准版 功能: EasyDL是百度大脑中的一个定制化训练和服务平台,EasyDL零售版是EasyDL针对零售场景推出的行业版,定制商品检测服务是EasyDL零售版的一项 ...
- 阿里云直播 C# SDK 如何使用
阿里云直播SDK的坑 1.直播云没有单独的SDK,直播部分被封装在CDN的相关SDK当中. 2.针对SDK,没有相关Demo. 3.针对SDK,没有相关的文档说明. 4.针对SDK的说明,官网上的说明 ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
随机推荐
- krpano资源下载及还原全景图
krpano资源下载及还原全景图 现在全景云平台有大量的全景图资源,就存在了如何下载的需求. 原理:1.云平台多数使用krpano内核,首先需要将全景云平台中被krpano切成的全景图碎片下载下来,并 ...
- Hibernate多对多关联映射的HQL中的in条件查询问题
群里有朋友求解一个问题,高分求一条HQL多对多查询语句 . 问题描述见 http://topic.csdn.net/u/20090621/16/4eac6fe0-bf3e-422e-a697-f758 ...
- centos7 端口开放
CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables.下面记录如何使用firewalld ...
- Ajax 简单实例,其实就是js里面内容有些不同而已(转载)
这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来.不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人. 关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋 ...
- RimLight(轮廓光) - Shader
[RimLight(轮廓光) - Shader] RimLight指的是物体的轮廓光.效果如下: 轮廓光的强度通过 1.0 - dot(normal, eye_vector)来计算.使用这个公式,则指 ...
- linux系统中的变量
一.定义 所谓的变量,就是就是利用一个特定的"名称"(name)来存取一段可以变化的"值"(value),简单说来就是“用一个名称储存一个数值”. 二.设定 ...
- 各种异常 及异常类和Object类 Math类
Day05 异常 Object类 equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较.Object类中的equals方法内部使用的就是==比较运算符. 2. 描述人这个 ...
- Python binascii
Python binascii模块 Python binascii模块 用处 包含的函数 相关内置函数 code使用示例 转载请标明出处(http://blog.csdn.net/lis_12/art ...
- Python 中 "is" 与 "==" 操作有什么区别?
转自:https://foofish.net/what-is-difference-between-is-and-euqals.html 在 Python 中,比较两个对象(变量)是否相等,可以用 & ...
- [OS] 如何在远程机器上用ctrl+alt+del键修改登录用户的密码
远程登录某台机器,想修改当前登录用户的密码,系统提示按Ctrl+Alt+Del,在出现的界面里修改密码 但我一按这三个键,是在我本地客户机生效,而不是在远程服务器. 答案 : 向远程桌面发送Ctrl+ ...