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


Восстановление главного ключа базы данных

В этом разделе описывается, как восстановить главный ключ базы данных в SQL Server 2012 при помощи Transact-SQL.

В этом разделе

  • Перед началом работы выполните следующие действия.

    Ограничения

    Безопасность

  • Восстановление главного ключа базы данных с помощью Transact-SQL

Перед началом

Ограничения

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

  • Если во время расшифровки любого объекта произойдет ошибка, восстановление будет прервано. Чтобы пропускать ошибки, можно использовать параметр FORCE, но это приведет к потере всех данных, которые не удается расшифровать.

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

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

Безопасность

Разрешения

Требует разрешения CONTROL для базы данных.

Значок стрелки, используемый со ссылкой «В начало»[Top]

В среде SQL Server Management Studio с помощью Transact-SQL

Восстановление главного ключа базы данных

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

  2. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  3. На панели «Стандартная» выберите пункт Создать запрос.

  4. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    -- Restores the database master key of the AdventureWorks2012 database.
    USE AdventureWorks2012;
    GO
    RESTORE MASTER KEY 
        FROM FILE = 'c:\backups\keys\AdventureWorks2012_master_key' 
        DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04' 
        ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
    GO
    
    ПримечаниеПримечание

    Путь к файлу ключа и пароль ключа (если он существует) будет отличаться от вышеуказанного. Убедитесь, что оба этих параметра соответствуют настройке конкретного сервера и ключа.

Дополнительные сведения см. в разделе RESTORE MASTER KEY (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[Top]