Поделиться через


RESTORE MASTER KEY (Transact-SQL)

Импортирует главный ключ базы данных из файла резервной копии.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

  • FILE = 'path_to_file'
    Указывает полный путь, включая имя файла, к хранимому главному ключу базы данных. Аргумент path_to_file может быть локальным путем или UNC-путем к сетевой папке.

  • DECRYPTION BY PASSWORD ='password'
    Указывает пароль для дешифрования главного ключа базы данных, импортируемого из файла.

  • ENCRYPTION BY PASSWORD ='password'
    Указывает пароль для шифрования главного ключа базы данных после его загрузки в базу данных.

  • FORCE
    Указывает на то, что процесс RESTORE должен продолжаться, даже если текущий главный ключ базы данных не открыт, или если SQL Server не может дешифровать некоторые зашифрованные им закрытые ключи.

Замечания

Когда главный ключ восстановлен, SQL Server дешифрует все ключи, зашифрованные текущим активным главным ключом, и затем шифрует эти ключи с помощью восстановленного главного ключа. Данную ресурсоемкую операцию следует планировать на то время, когда количество обращений к серверу минимальное. Если текущий главный ключ базы данных не открыт или не может быть открыт, или если какой-либо зашифрованный им ключ не может быть дешифрован, операция восстановления заканчивается неудачно.

Используйте параметр FORCE, только если невозможно получить главный ключ, или дешифрование закончилось неудачно. Сведения, которые зашифрованы только с помощью ключа, который невозможно получить, будут потеряны.

Если главный ключ был зашифрован главным сервисным ключом, восстановленный главный ключ также будет зашифрован главным сервисным ключом.

Если в текущей базе данных нет главного ключа, RESTORE MASTER KEY создает главный ключ. Новый главный ключ не будет автоматически шифроваться главным сервисным ключом.

Разрешения

Необходимо разрешение CONTROL для базы данных.

Примеры

Следующий пример восстанавливает главный ключ базы данных для базы данных AdventureWorks.

USE AdventureWorks;
RESTORE MASTER KEY 
    FROM FILE = 'c:\backups\keys\AdventureWorks_master_key' 
    DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04' 
    ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
GO