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


Восстановление главного ключа службы

Область применения: SQL Server

В этой статье описывается восстановление главного ключа службы в SQL Server с помощью Transact-SQL.

Предупреждение

Маловероятно, что когда-нибудь потребуется восстановление главного ключа службы, Но если все же придется это делать, эту операцию следует выполнять предельно внимательно. Дополнительные сведения см. в статье Back Up the Service Master Key.

Подготовка к работе

ограничения

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

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

  • Повторное формирование иерархии шифрования — ресурсоемкая операция. Запланируйте ее выполнение в период низкой нагрузки на сервер.

Внимание

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

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

Разрешения

Необходимо разрешение CONTROL SERVER на сервер.

Использование Transact-SQL

Восстановление главного ключа службы

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

  2. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

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

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

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

    Примечание.

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

См. также