还原服务主密钥

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

注意事项注意

您可能永远也不需要还原服务主密钥。 但如果进行此操作,应当格外谨慎。 有关详细信息,请参阅备份服务主密钥

本主题内容

  • 开始之前:

    限制和局限

    安全性

  • 使用 Transact-SQL 还原服务主密钥

开始之前

限制和局限

  • 当还原服务主密钥时,SQL Server 将对所有已使用当前服务主密钥加密的密钥和机密内容进行解密,然后使用从备份文件中加载的服务主密钥对这些密钥和机密内容进行加密。

  • 如果有任意一种解密操作失败,则还原操作将会失败。 您可以使用 FORCE 选项忽略错误,但是该选项会使无法进行解密的数据丢失。

  • 重新生成加密层次结构是一种消耗大量资源的操作。 您应当将该操作安排在资源需求较低的时段进行。

注意事项注意

服务主密钥为 SQL Server 加密层次结构的根。 服务主密钥直接或间接地保护树中的所有其他密钥。 如果在强制的还原过程中不能对某个相关密钥进行解密,则由该密钥所保护的数据便会丢失。

安全性

权限

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

用于“返回首页”链接的箭头图标[Top]

使用 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
    
    注意注意

    指向密钥和密钥的密码(如果有)的文件路径不同于以上所指示的路径。 请确保这两个路径都是针对您的服务器和密钥设置的。

用于“返回首页”链接的箭头图标[Top]