还原服务主密钥

本主题介绍如何使用 Transact-SQL 在 SQL Server 2014 中还原服务主密钥。

警告

你不太可能需要还原服务主密钥。 如果这样做,应谨慎行事。 有关详细信息,请参阅 备份服务主密钥

本主题内容

在您开始之前

局限性与限制

  • 还原服务主密钥后,SQL Server 会解密已使用当前服务主密钥加密的所有密钥和机密,然后使用从备份文件加载的服务主密钥对其进行加密。

  • 如果任一解密失败,还原将失败。 可以使用 FORCE 选项忽略错误,但此选项将导致任何无法解密的数据丢失。

  • 重新生成加密层次结构是一项资源密集型作。 应在需求低的时间段内安排此计划。

谨慎

服务主密钥是 SQL Server 加密层次结构的根本。 服务主密钥直接或间接地保护树中的所有其他密钥。 如果在强制还原期间无法解密依赖密钥,则由该密钥保护的数据将丢失。

安全

权限

要求对服务器具有 CONTROL SERVER 权限。

使用 Transact-SQL

还原服务主密钥

  1. 从物理备份介质或本地文件系统上的目录检索备份服务主密钥的副本。

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

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

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

    -- Restores the service master key from a backup file.  
    RESTORE SERVICE MASTER KEY   
        FROM FILE = 'c:\temp_backups\keys\service_master_key'   
        DECRYPTION BY PASSWORD = '3dH85Hhk003GHk2597gheij4';  
    GO  
    

    注释

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