备份数据库主密钥
本主题介绍如何使用 Transact-SQL 在 SQL Server 2012 中备份数据库主密钥。 数据库主密钥用于加密数据库里面的其他密钥和证书。 如果主密钥被删除或损坏,则 SQL Server 可能无法解密数据库里面的其他密钥,并且使用这些密钥加密的数据就如同丢失一样。 出于这个原因,您应备份数据库主密钥,并将备份存储在另外一个安全的位置。
本主题内容
开始之前:
限制和局限
安全性
使用 Transact-SQL 备份数据库主密钥
开始之前
限制和局限
主密钥必须为打开状态,因此在备份主密钥之前应对其进行解密。 如果主密钥使用服务主密钥进行加密,则不必显式打开。 但如果主密钥仅使用密码进行加密,则必须显式打开。
我们建议您在创建主密钥之后立即对其进行备份,并存储于另外一个安全的位置中。
安全性
权限
要求对数据库具有 CONTROL 权限。
[Top]
将 SQL Server Management Studio 与 Transact-SQL 一起使用
备份数据库主密钥
在 SQL Server Management Studio 中,连接到包含需要备份的数据库主密钥的 SQL Server 实例。
选择将用于在备份介质上加密数据库主密钥的密码。 此密码应通过复杂性检查。
获得一个用于存储密钥备份副本的可移动备份介质。
确定将在其下创建密钥备份的 NTFS 目录。 这就是在下一步中指定的要创建文件的位置。 应使用高限制级访问控制列表 (ACL) 来保护目录。
在**“对象资源管理器”**中,连接到数据库引擎实例。
在标准菜单栏上,单击**“新建查询”**。
将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。
-- Creates a backup of the "AdventureWorks2012" master key. Because this master key is not encrypted by the service master key, a password must be specified when it is opened. USE AdventureWorks2012; GO OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7'; BACKUP MASTER KEY TO FILE = 'c:\temp\exportedmasterkey' ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg'; GO
注意 指向密钥和密钥的密码(如果有)的文件路径不同于以上所指示的路径。 请确保这两个路径都是针对您的服务器和密钥设置的。
将文件复制到备份介质上并验证该副本是否完好。
将备份存储在另外一个安全的位置。
有关详细信息,请参阅 OPEN MASTER KEY (Transact-SQL) 和 BACKUP MASTER KEY (Transact-SQL)。
[Top]