对 SQL Server 数据库启用透明数据加密
SQL Server 具有内置的加密 TDE(透明数据加密)机制,该机制对驻留在数据库中或驻留在物理介质上的备份中的数据进行加密。
Before you begin
About this task
要在 SQL Server 上启用 TDE,您必须拥有与在主数据库中创建数据库主密钥和证书相关联的正常许可权。您还必须拥有对用户数据库的 CONTROL 许可权。
启用加密是数据库管理员的常见任务;为了方便起见,我们提供了一个适用于典型 SQL Server 配置的 SQL 脚本:EnableTDE.zip。(如果文件未下载,请右键单击链接并将文件保存到硬盘驱动器。)
Note:
对于升级用户:
- 要提高数据库升级性能,请在数据库升级完成后启用 TDE。
- 尽管您可以随时执行这些步骤,但是在完成这些步骤之前,将不会加密数据库。在升级过程之前启用 TDE 将在整个升级过程中以及此过程之后保护您的数据库。
Procedure
- 打开您安装的 SQL Server 2016 或更高版本的 SQL Management Studio。
- 连接到您要加密的数据库。这将有助于确保数据库已创建并且可用。
- 转至您下载了 EnableTDE.zip 文件的位置。抽取此文件,然后打开脚本。()您将注意到将在服务器上执行的若干命令。
-
在执行脚本之前,必须针对您的环境设置三个字段。在脚本的注释部分中,这些字段全部都标记为“ACTION REQUIRED”:
- DECLARE @MKPassword:用于在 [master] 数据库中创建主密钥的主密钥密码。
- DECLARE @DatabaseName:您想要启用加密的数据库名称。
- (可选)DECLARE @BackupPassword:证书备份密码。此密码用于保护证书备份,并且在其他机器上复原证书时需要此密码。
- 在这些字段已更新之后,启动脚本(查询 > 执行)脚本如何在 SQL Server 上启用 TDE。
-
在脚本已完成后,结果将显示在 SQL Management Studio 的“消息”窗口中。
Note:您也可以通过 SQL Management Studio 进行验证。右键单击“数据库名称 -> 任务 -> 管理数据库加密”。您将看到已选中“开启数据库加密”的复选框。
Results
Important:
完成后,确保写下脚本中使用的密码,并创建证书备份副本。证书备份包含两个文件:AppScanEntCert.bak 和 AppScanEntCert.pvk。缺省情况下,这两个文件将与数据库 .mdf 文件一起存储在以下文件夹中:
- (SQL 2016)C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA