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, необходимо:

  1. Создать учетную запись хранения Azure с резервным копированием симметричного ключа.
  2. Создать хранимую политику доступа и хранилище с общим доступом.
  3. Создать учетные данные 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'; 

См. также раздел

BACKUP SYMMETRIC KEY