本主题介绍如何使用 Transact-SQL 在 SQL Server 2014 中备份数据库主密钥。 数据库主密钥用于加密数据库中的其他密钥和证书。 如果删除或损坏,SQL Server 可能无法解密这些密钥,并且使用它们加密的数据将有效丢失。 因此,应备份数据库主密钥并将备份存储在安全的站点外位置。
本主题内容
准备工作:
在您开始之前
局限性与限制
主密钥必须处于打开状态,因此,在备份之前必须被解密。 如果使用服务主密钥对其进行加密,则无需显式打开主密钥。 但是,如果主密钥仅使用密码加密,则必须显式打开它。
建议在创建主密钥后立即备份主密钥,并将备份存储在安全的异地位置。
安全
权限
需要对数据库具有 CONTROL 权限。
将 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)。