RESTORE SYMMETRIC KEY (Transact-SQL)
Область применения: SQL Server 2022 (16.x)
Примечание.
SQL Server 2022 (16.x) предоставляет поддержку экспорта и импорта симметричного ключа в хранилище или файл BLOB-объектов Azure или из нее.
Импортирует симметричный ключ.
Соглашения о синтаксисе Transact-SQL
Синтаксис
RESTORE SYMMETRIC KEY key_name FROM
{
FILE = 'path_to_file'
| URL = 'Azure Blob storage URL'
}
DECRYPTION BY PASSWORD = 'password'
ENCRYPTION BY PASSWORD = 'password'
Аргументы
FILE ='path_to_file'
Указывает полный путь и имя файла, в который экспортируется симметричный ключ. Это может быть локальный путь или UNC-путь к сетевой папке.
URL ='URL-адрес хранилища BLOB-объектов Azure' — это URL-адрес хранилища BLOB-объектов Azure в формате вида https://<storage_account_name>.blob.core.windows.net/<storage_container_name>/<backup_file_name>.bak
.
DECRYPTION BY PASSWORD ='password' Указывает пароль для расшифровки симметричного ключа, импортируемого из файла.
ENCRYPTION BY PASSWORD ='password'
Указывает пароль для шифрования симметричного ключа после его загрузки в базу данных. Пароль проходит проверку сложности. Дополнительные сведения см. в разделе Политика паролей.
Необходимые условия
Чтобы восстановить симметричный ключ из хранилища BLOB-объектов Azure, необходимо:
- Создать учетную запись хранения Azure с резервным копированием симметричного ключа.
- Создание хранимой политики доступа и хранилища с общим доступом.
- Создать учетные данные SQL Server с помощью подписанного URL-адреса.
Дополнительные сведения см. в статье Учебник. Использование хранилища BLOB-объектов Azure с SQL Server.
Разрешения
Требует разрешения ALTER на симметричный ключ. При добавлении шифрования по сертификату или асимметричному ключу необходимо разрешение VIEW DEFINITION на сертификат или асимметричный ключ. При удалении шифрования по сертификату или асимметричному ключу необходимо разрешение CONTROL на сертификат или асимметричный ключ.
Примеры
В следующем примере симметричный ключ восстанавливается из файла.
RESTORE SYMMETRIC KEY symmetric_key
FROM FILE = 'c:\temp_backups\keys\symmetric_key'
DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'
ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
В следующем примере симметричный ключ восстанавливается из хранилища BLOB-объектов Azure.
RESTORE SYMMETRIC KEY symmetric_key
FROM URL = 'https://mydocsteststorage.blob.core.windows.net/mytestcontainer/symmetric_key.bak'
DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'
ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';