适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
本文介绍了如何使用Transact-SQL在SQL Server中创建数据库主密钥。 数据库主密钥在数据库中加密其他密钥和证书。 每个数据库只需创建一次数据库主密钥,并将其备份到安全的异地位置,以便在其被删除或损坏时进行还原。
权限
需要对数据库拥有 CONTROL 权限。
创建数据库主密钥
本文中的代码示例使用 AdventureWorks2025 或 AdventureWorksDW2025 示例数据库,可以从 Microsoft SQL Server 示例和社区项目 主页下载该数据库。
连接到你想创建数据库主密钥的 SQL Server 实例。 可以使用任何熟悉的SQL Server客户端工具连接到SQL Server实例, 例如 sqlcmd、SQL Server Management Studio (SSMS) 或 MSSQL 扩展(适用于 Visual Studio Code)。
选择强密码来加密数据库主密钥。 密码应遵循 SQL Server 默认密码策略。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。 密码可最长为 128 个字符。 使用的密码应尽可能长,尽可能复杂。
在你想创建数据库主密钥的数据库上下文中,查看并运行以下 Transact-SQL 脚本。 更改密码以匹配你的环境。
Caution
你需要密码才能打开数据库主密钥。 确保你安全保存这个密码。
USE AdventureWorks2025; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';备份新创建的数据库主密钥。 更多信息请参见 “备份数据库主密钥”。