RESTORE MASTER KEY (Transact-SQL)
THIS TOPIC APPLIES TO: SQL Server (starting with 2008) Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse
Imports a database master key from a backup file.
- FILE = 'path_to_file'
Specifies the complete path, including file name, to the stored database master key. path_to_file can be a local path or a UNC path to a network location.
- DECRYPTION BY PASSWORD = 'password'
Specifies the password that is required to decrypt the database master key that is being imported from a file.
- ENCRYPTION BY PASSWORD = 'password'
Specifies the password that is used to encrypt the database master key after it has been loaded into the database.
Specifies that the RESTORE process should continue, even if the current database master key is not open, or if SQL Server cannot decrypt some of the private keys that are encrypted with it.
When the master key is restored, SQL Server decrypts all the keys that are encrypted with the currently active master key, and then encrypts these keys with the restored master key. This resource-intensive operation should be scheduled during a period of low demand. If the current database master key is not open or cannot be opened, or if any of the keys that are encrypted by it cannot be decrypted, the restore operation fails.
Use the FORCE option only if the master key is irretrievable or if decryption fails. Information that is encrypted only by an irretrievable key will be lost.
If the master key was encrypted by the service master key, the restored master key will also be encrypted by the service master key.
If there is no master key in the current database, RESTORE MASTER KEY creates a master key. The new master key will not be automatically encrypted with the service master key.
Requires CONTROL permission on the database.
The following example restores the database master key of the AdventureWorks2012 database.
USE AdventureWorks2012; RESTORE MASTER KEY FROM FILE = 'c:\backups\keys\AdventureWorks2012_master_key' DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04' ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD'; GO