数据库管理工具 Navicat使用教程:SQL Server中的磁盘加密

Navicat Premium是一个可链接多种数据库的管理工具,它可让你以单一程序同时链接到MySQL、Oracle及PostgreSQL数据库,让管理不一样类型的数据库更加的方便。数据库

在如今的信息时代,加密敏感数据是十分有意义的。其实问题也不在于加密,而在于采用哪一种方法来加密。如下是三种主要普遍使用的数据库加密方法:编程

  1. 应用程序编程接口(API) - 应用程序级别
  2. 插件 - 数据库级别
  3. 透明数据加密 - 磁盘/操做系统级别

咱们越想了解一个应用程序,就须要更改更多的源代码。相反,咱们越想了解一个操做系统,开发人员能够付出更少的努力。磁盘加密是最安全的,由于即便访问物理数据库服务器,黑客也没法读取数据。安全

Microsoft的透明数据加密(TDE)在SQL Server 2008,Azure SQL数据库和Azure SQL数据仓库数据文件中实现,经过在数据写入磁盘时加密数据库来实现此目的。一样,从磁盘读取时,数据未加密。因此,只有在内存中时,数据才处于未加密状态。bash

默认状况下,SQL Server根本不加密数据,更不用说加密磁盘了。激活磁盘加密须要几个步骤。在本篇文章中,咱们将回顾如何在SQL Server中打开TDS。服务器

1.建立主密钥

USE master;
GO
CREATE MASTER KEY ENCRYPTION
    BY PASSWORD='Use a Strong Password For the Database Master Key'
GO
复制代码

2.建立或获取受主密钥保护的证书

USE master;
GO
CREATE CERTIFICATE My_TDE_Certificate
       WITH SUBJECT='Certificate for TDE';
GO
复制代码

3.建立数据库加密密钥并经过证书进行保护

USE MyDatabase
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE TDE_Certificate;
复制代码

4.将数据库设置为使用加密

ALTER DATABASE MyDatabase SET ENCRYPTION ON;
GO
复制代码

备份证书

虽然使用TDE加密数据库不须要此步骤,可是若是主数据库损坏,则能够从数据库备份中恢复加密数据,这一点很是重要。若是要将加密数据库移动到另外一台服务器,还应备份证书。这是完成备份的代码:工具

USE master;
GO
BACKUP CERTIFICATE TDE_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的数据库备份应用压缩。压缩数据库备份很是重要,由于它能够经过生成小于数据库的备份文件来节省磁盘空间。此外,它还缩短了恢复数据库所需的时间。spa

如下是如何将压缩应用于启用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
复制代码

                                         【下载Navicat Premium最新版本
插件

相关文章
相关标签/搜索