Udostępnij za pośrednictwem


Restore the Service Master Key

This topic describes how to restore the service master key in SQL Server 2012 by using Transact-SQL.

PrzestrogaPrzestroga

It is unlikely that you will ever need to restore the service master key. If you do, you should proceed with extreme caution. For more information, see Back Up the Service Master Key.

In This Topic

  • Before you begin:

    Limitations and Restrictions

    Security

  • To restore the service master key using Transact-SQL

Before You Begin

Limitations and Restrictions

  • 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.

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

PrzestrogaPrzestroga

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.

Security

Permissions

Requires CONTROL SERVER permission on the server.

Ikona strzałki używana z łączem Powrót na górę strony[Top]

Using Transact-SQL

To restore the service master key

  1. Retrieve a copy of the backed-up service master key, either from a physical backup medium or a directory on the local file system.

  2. In Object Explorer, connect to an instance of Database Engine.

  3. On the Standard bar, click New Query.

  4. Copy and paste the following example into the query window and click Execute.

    -- 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
    

    [!UWAGA]

    The file path to the key and the key's password (if it exists) will be different than what is indicated above. Please make sure that both are specific to your server and key set-up.

Ikona strzałki używana z łączem Powrót na górę strony[Top]