RESTORE SERVICE MASTER KEY (Transact-SQL)

从备份文件中导入服务主密钥。

主题链接图标Transact-SQL 语法约定

语法

RESTORE SERVICE MASTER KEY FROM FILE = 'path_to_file' 
    DECRYPTION BY PASSWORD = 'password' [FORCE]

参数

  • FILE ='path_to_file'
    指定存储服务主密钥的完整路径(包括文件名)。path_to_file 可以是本地路径,也可以是网络位置的 UNC 路径。

  • PASSWORD ='password'
    指定对从文件中导入的服务主密钥进行解密时所需的密码。

  • FORCE
    即使存在数据丢失的风险,也要强制替换服务主密钥。

注释

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

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

注意事项注意

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

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

权限

需要对服务器的 CONTROL SERVER 权限。

示例

以下示例从备份文件中还原服务主密钥。

RESTORE SERVICE MASTER KEY 
    FROM FILE = 'c:\temp_backups\keys\service_master_key' 
    DECRYPTION BY PASSWORD = '3dH85Hhk003GHk2597gheij4';
GO