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


RESTORE MASTER KEY (Transact-SQL)

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в 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 для базы данных.

Примеры

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

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

См. также

Справочник

CREATE MASTER KEY (Transact-SQL)

ALTER MASTER KEY (Transact-SQL)

Основные понятия

Иерархия средств шифрования