Восстановление главного ключа базы данных
Область применения: SQL Server
В этом разделе описывается восстановление главного ключа базы данных в SQL Server с помощью Transact-SQL.
Подготовка к работе
ограничения
При восстановлении главного ключа SQL Server расшифровывает все ключи, зашифрованные с помощью активного главного ключа, а затем шифрует эти ключи с восстановленным главным ключом. Данную ресурсоемкую операцию следует планировать на то время, когда количество обращений к серверу минимальное. Если текущий главный ключ базы данных не открыт или не может быть открыт либо если какой-либо из зашифрованных им ключей не может быть расшифрован, операция восстановления завершится сбоем.
Если во время расшифровки любого объекта произойдет ошибка, восстановление будет прервано. Чтобы пропускать ошибки, можно использовать параметр FORCE, но это приведет к потере всех данных, которые не удается расшифровать.
Если главный ключ был зашифрован главным сервисным ключом, восстановленный главный ключ также будет зашифрован главным сервисным ключом.
Если в текущей базе данных нет главного ключа, RESTORE MASTER KEY создает главный ключ. Новый главный ключ не будет автоматически шифроваться с использованием главного ключа службы.
Безопасность
Разрешения
Требует разрешения CONTROL для базы данных.
В среде SQL Server Management Studio с помощью Transact-SQL
Восстановление главного ключа базы данных
Сохраните резервную копию главного ключа базы данных с физического носителя данных резервных копий или из папки локальной файловой системы.
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- Restores the database master key of the AdventureWorks2022 database. USE AdventureWorks2022; GO RESTORE MASTER KEY FROM FILE = 'c:\backups\keys\AdventureWorks2022_master_key' DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04' ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD'; GO
Примечание.
Путь к файлу ключа и пароль ключа (если он существует) будет отличаться от вышеуказанного. Убедитесь, что оба этих параметра соответствуют настройке конкретного сервера и ключа.