在这个时代,敏感的数据都需要加密。但问题不在于是否要加密,而在于采用哪种加密方法。这有几种选择,以下是三种广泛使用的主要数据库加密方法:

  • 应用程序接口(API)-应用程序级别
  • 插件-数据库级别
  • 透明数据加密-磁盘或操作系统级别

越接近应用程序级别,就需要更多的源代码更改。相反,越接近操作系统级别,开发人员需要付出更少的努力。磁盘加密也是最安全的,因为即使黑客访问物理数据库服务器,也无法读取数据。

Microsoft 的透明数据加密(TDE)适用于 SQL Server 2008、Azure SQL Database 和 Azure SQL Data Warehouse 数据文件,在数据写入磁盘时加密数据库。同样,从磁盘读取时,会解密数据。因此,只有在内存时,数据才处于未加密状态。

默认情况下,SQL Server 根本不会加密数据,更不用说加密磁盘了。激活加密需要几个步骤。在今天的文章中,我们将回顾如何在 SQL Server 中打开 TDS。

创建主密钥

USE master;

GO

CREATE MASTER KEY ENCRYPTION

BY PASSWORD='Use a Strong Password For the Database Master Key';

GO

创建或获取受主密钥保护的证书

USE master;

GO

CREATE CERTIFICATEMy_TDE_Certificate

WITH SUBJECT='Certificate for TDE';

GO

创建数据库加密密钥并通过证书对其进行保护

USEMyDatabase

GO

CREATE DATABASE ENCRYPTION KEY

WITH ALGORITHM = AES_256

ENCRYPTION BY SERVER CERTIFICATETDE_Certificate;

将数据库设置为使用加密

ALTER DATABASEMyDatabaseSET ENCRYPTION ON;

GO

备份证书

虽然使用 TDE 加密数据库不需要此步骤,但是如果主数据库损坏,则可以从数据库备份中恢复加密数据,这一点非常重要。如果要将加密数据库移动到另一个服务器,还应备份证书。这是完成备份的代码:

USE master;

GO

BACKUP CERTIFICATETDE_CERT_For_MyData

TO FILE ='C:\temp\TDE_Cert_For_MyData.cer'

WITH PRIVATE KEY (file='C:\temp\TDE_CertKey.pvk',

ENCRYPTION BY PASSWORD='Use a Strong Password for Backup Here');

请确保将备份密码存储在安全的地方。如果必须重建承载加密数据库的服务器实例或需要将数据库移动到另一个服务器,则需要此密码才能还原证书。

数据库备份

使用 TDE 加密数据库的好处之一是数据库备份也将被加密,从而增强数据安全性。从 SQL Server 2016 开始,你还可以将压缩应用于启用了 TDE 的数据库备份。压缩数据库备份非常重要,因为它可以通过生成比数据库小的备份文件来节省磁盘空间。此外,它还缩短了恢复数据库所需的时间。

以下是如何将压缩应用于启用了 TDE 的数据库备份:

BACKUP DATABASE [MyDatabase]

TO DISK = N'E:\backup\MyDatabase_TDE_Compressed.bak'

WITH NOFORMAT, NOINIT, NAME = N'MyDatabase_TDE-Full Database Backup',

SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10


GO

往期回顾

  1. 假冒网站引发多重安全风险 | 官方严正声明:切勿在非官方渠道购买或下载 Navicat 软件
  2. Navicat 荣获 Microsoft 金牌合作伙伴
  3. Navicat 16.3 正式支持 OceanBase 企业版​
  4. 免费试用 Navicat 16
  5. Navicat 的 20年发展史
  6. SQL 语句中 WHERE 1=1 的作用
  7. SQL 中计算总行数的百分比
  8. 互动有礼活动进行中 | 奖品为价值 819 元 Navicat Premium
  9. Navicat NAPP 校企合作和申请免费一年期的 Navicat Premium 教育版

实战演练 | SQL Server 中的磁盘加密相关推荐

  1. Navicat使用教程:SQL Server中的磁盘加密

    转载来源 :Navicat使用教程:SQL Server中的磁盘加密 : http://www.safebase.cn/article-255744-1.html 摘要: Navicat Premiu ...

  2. aws rds 加密_AWS RDS SQL Server中的加密备份和还原

    aws rds 加密 ol li p{ font-size: 14px; color: #252525; } ol li p{ font-size: 14px; color: #252525; } I ...

  3. 透明加密tde_如何在SQL Server中监视和管理透明数据加密(TDE)

    透明加密tde Transparent Data Encryption (TDE) was originally introduced in SQL Server 2008 (Enterprise E ...

  4. aws rds 加密_AWS RDS SQL Server中的透明数据加密(TDE)

    aws rds 加密 In this article, we will review Transparent Data Encryption (TDE) in AWS RDS SQL Server. ...

  5. 透明加密tde_如何在SQL Server中配置透明数据加密(TDE)

    透明加密tde 简介与概述 (Introduction and Overview) Transparent Data Encryption (TDE) was introduced in SQL Se ...

  6. 细说SQL Server中的加密

    简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程.在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在 ...

  7. SQL Server中的文件流

    This article will discuss SQL Server FILESTREAM including installation, configuration, enabling and ...

  8. SQL Server中的数据字典

    数据字典是记录了数据库的系统描述信息的表和视图的集合,分为两类 系统自带:DBMS自带的,用于统计数据库中的相应信息.在SQL Server 数据库中的sys*表,里面记录着系统字段的定义.索引.完整 ...

  9. SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因...

    原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫.所以花了点时间,把 SQL Server 数据库中 ...

最新文章

  1. 题目1160:放苹果
  2. 45、Power Query-缺少功能区选项卡
  3. 怎么查看atcoder的数据_多表数据联动查看,怎么做?
  4. Hadoop2.x编程入门实例:MaxTemperature
  5. 【BUG记录】> Android dependency ‘androidx.vectordrawable:vectordrawable‘ has different
  6. 牛腩新闻发布系统(一):SQLHelper重构(一)
  7. 后端:死磕18个Java8日期处理,工作必用!
  8. 用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件
  9. php 长微博程序,长微博生成工具PHP源码 根据文字生成长微博图片 - substr_count
  10. 解决 VS Code 保存时候自动格式化
  11. Ubuntu下面怎么使用root登录
  12. 使用“牛顿迭代法”求解方程
  13. 2、开关灯、选项卡、隔行换色
  14. AlphaGo 引发的中国象棋之路
  15. SQL Server 由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN xxx 失败问题解决
  16. php后门 佛像,给千年佛像做了个CT,结果好吓人
  17. 小学奥数 7653 地球人口承载力估计 python
  18. Java对接微信公众号模板消息推送(架包WxJava)
  19. C# 微信证书签名,WECHATPAY2-SHA256-RSA2048 签名方式
  20. 什么是损失函数?什么是梯度

热门文章

  1. STM32 深入浅出(新手必看)
  2. 看门狗二显示游戏服务器无法使用,为什么看门狗2的游戏服务目前无法使用 | 手游网游页游攻略大全...
  3. (2/3) windows下vim配置dbext插件连接oracle直接执行sql语句--补充配置OBI ODBC interface 安装odbc数据源,让字段显示没有那么宽
  4. AT24C02 IIC总线调试记录
  5. android应用层服务——binderService与StartService
  6. 天津规定携犬外出需为犬配戴嘴套
  7. Ubuntu18.04安装ROS melodic缺少公钥无法认证签名
  8. QCustomPlot学习(1)
  9. 华北五省比赛经验教训
  10. 2021-2027全球与中国电动厕纸分配器市场现状及未来发展趋势