备份数据库主密钥

本主题介绍如何使用 Transact-SQL 在 SQL Server 2014 中备份数据库主密钥。 数据库主密钥用于加密数据库中的其他密钥和证书。 如果删除或损坏,SQL Server 可能无法解密这些密钥,并且使用它们加密的数据将有效丢失。 因此,应备份数据库主密钥并将备份存储在安全的站点外位置。

本主题内容

在您开始之前

局限性与限制

  • 主密钥必须处于打开状态,因此,在备份之前必须被解密。 如果使用服务主密钥对其进行加密,则无需显式打开主密钥。 但是,如果主密钥仅使用密码加密,则必须显式打开它。

  • 建议在创建主密钥后立即备份主密钥,并将备份存储在安全的异地位置。

安全

权限

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

将 SQL Server Management Studio 与 Transact-SQL 配合使用

备份数据库主密钥

  1. 在 SQL Server Management Studio 中,连接到包含要备份的数据库主密钥的 SQL Server 实例。

  2. 选择用于加密备份介质上的数据库主密钥的密码。 此密码受复杂性检查的约束。

  3. 获取可移动备份介质,用于存储备份密钥的副本。

  4. 标识要在其中创建密钥备份的 NTFS 目录。 这是将在下一步中创建指定的文件的位置。 目录应受到高度限制的访问控制列表(ACL)的保护。

  5. “对象资源管理器” 中,连接到某个数据库引擎实例。

  6. 在标准栏上,单击“新建查询”

  7. 将以下示例复制并粘贴到查询窗口中,然后单击 执行

    -- 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  
    

    注释

    密钥的文件路径和密钥的密码(如果存在)将不同于上面所示的内容。 请确保它们均符合您服务器和密钥的设置要求。

  8. 将文件复制到备份介质并验证副本。

  9. 将备份存储在安全的异地位置。

有关详细信息,请参阅 OPEN MASTER KEY(Transact-SQL)BACKUP MASTER KEY(Transact-SQL)。