RESTORE SERVICE MASTER KEY (Transact-SQL)

Applies to: SQL Server

Imports a service master key from a backup file.

Transact-SQL syntax conventions

Syntax

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

Arguments

FILE ='path_to_file'
Specifies the complete path, including file name, to the stored service master key. path_to_file can be a local path or a UNC path to a network location.

PASSWORD ='password'
Specifies the password required to decrypt the service master key that is being imported from a file.

FORCE
Forces the replacement of the service master key, even at the risk of data loss.

Remarks

When the service master key is restored, SQL Server decrypts all the keys and secrets that have been encrypted with the current service master key, and then encrypts them with the service master key loaded from the backup file.

If any one of the decryptions fails, the restore will fail. You can use the FORCE option to ignore errors, but this option will cause the loss of any data that cannot be decrypted.

Caution

The service master key is the root of the SQL Server encryption hierarchy. The service master key directly or indirectly secures all other keys in the tree. If a dependent key cannot be decrypted during a forced restore, data that is secured by that key will be lost.

Regenerating the encryption hierarchy is a resource-intensive operation. You should schedule this during a period of low demand.

Permissions

Requires CONTROL SERVER permission on the server.

Examples

The following example 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  

See Also

Service Master Key
ALTER SERVICE MASTER KEY (Transact-SQL)
BACKUP SERVICE MASTER KEY (Transact-SQL)
Encryption Hierarchy