RESTORE SYMMETRIC KEY (Transact-SQL)
适用于: SQL Server 2022 (16.x)
注意
SQL Server 2022 (16.x) 引入了以下支持:可从 Azure Blob 存储或文件导出和导入对称密钥。
导入对称密钥。
语法
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 ='Azure Blob storage URL' Azure Blob 存储的 URL,格式类似于 https://<storage_account_name>.blob.core.windows.net/<storage_container_name>/<backup_file_name>.bak
。
DECRYPTION BY PASSWORD ='password' 指定对从文件中导入的对称密钥进行解密时所需的密码。
ENCRYPTION BY PASSWORD ='password'
指定用于在将对称密钥加载到数据库之后对该密钥进行加密的密码。 此密码应通过复杂性检查。 有关详细信息,请参阅 Password Policy。
先决条件
若要通过 Azure Blob 存储还原对称密钥,需要:
- 具备有对称密钥备份的 Azure 存储帐户。
- 创建存储访问策略和共享访问存储。
- 使用共享访问签名创建 SQL Server 凭据。
有关详细信息,请参阅教程:将 Azure Blob 存储与 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';
在以下示例中,对称密钥是通过 Azure Blob 存储还原的。
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';