创建数据库主密钥

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

本文介绍了如何使用Transact-SQL在SQL Server中创建数据库主密钥。 数据库主密钥在数据库中加密其他密钥和证书。 每个数据库只需创建一次数据库主密钥,并将其备份到安全的异地位置,以便在其被删除或损坏时进行还原。

权限

需要对数据库拥有 CONTROL 权限。

创建数据库主密钥

本文中的代码示例使用 AdventureWorks2025AdventureWorksDW2025 示例数据库,可以从 Microsoft SQL Server 示例和社区项目 主页下载该数据库。

  1. 连接到你想创建数据库主密钥的 SQL Server 实例。 可以使用任何熟悉的SQL Server客户端工具连接到SQL Server实例, 例如 sqlcmdSQL Server Management Studio (SSMS)MSSQL 扩展(适用于 Visual Studio Code)。

  2. 选择强密码来加密数据库主密钥。 密码应遵循 SQL Server 默认密码策略。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。 密码可最长为 128 个字符。 使用的密码应尽可能长,尽可能复杂。

  3. 在你想创建数据库主密钥的数据库上下文中,查看并运行以下 Transact-SQL 脚本。 更改密码以匹配你的环境。

    Caution

    你需要密码才能打开数据库主密钥。 确保你安全保存这个密码。

    USE AdventureWorks2025;
    GO
    
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
    
  4. 备份新创建的数据库主密钥。 更多信息请参见 “备份数据库主密钥”。