BACKUP MASTER KEY (Transact-SQL)
适用范围:SQL Server
导出数据库主密钥。
重要
SQL Server 2022 (16.x) 支持将数据库主密钥备份和还原到 Azure Blob 存储以及从 Azure Blob 存储备份和还原数据库主密钥。 URL
语法仅适用于 SQL Server 2022 (16.x) 及更高版本。
语法
BACKUP MASTER KEY TO
{
FILE = 'path_to_file'
| URL = 'Azure Blob storage URL'
}
ENCRYPTION BY PASSWORD = 'password'
参数
FILE ='path_to_file'
指定主密钥将导入的文件的完整路径(包括文件名)。 此路径可以是本地路径,也可以是网络位置的 UNC 路径。
URL =“Azure Blob 存储 URL”
适用于:SQL Server 2022 (16.x) 及更高版本
Azure Blob 存储的 URL,格式类似于 https://<storage_account_name>.blob.core.windows.net/<storage_container_name>/<backup_file_name>.bak
。
ENCRYPTION BY PASSWORD ='password'
用于加密文件中主密钥的密码。 此密码应通过复杂性检查。 有关详细信息,请参阅 Password Policy。
注解
主密钥必须为打开状态,因此在备份主密钥之前应对其进行解密。 如果主密钥使用服务主密钥进行加密,则不必显式打开。 但如果主密钥仅使用密码进行加密,则必须显式打开。
在创建主密钥之后立即对其进行备份,并存储于另外一个安全的站点外位置。
对 Azure Blob 存储进行身份验证
适用于:SQL Server 2022 (16.x) 及更高版本。
若要将数据库主密钥备份到 Azure Blob 存储,则以下先决条件适用:
具有 Azure 存储账户。
-
有关详细信息,请参阅教程:将 Azure Blob 存储与 SQL Server 配合使用。
权限
要求对数据库具有 CONTROL 权限。
示例
以下示例创建到文件的 AdventureWorks2022
主密钥备份。 由于该主密钥未使用服务主密钥进行加密,因此必须指定密码才能将其打开。
USE AdventureWorks2022;
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7';
BACKUP MASTER KEY TO FILE = 'c:\temp\AdventureWorks2022_master_key'
ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg';
GO
以下示例创建到 Azure Blob 存储的 AdventureWorks2022
主密钥备份。 由于该主密钥未使用服务主密钥进行加密,因此必须指定密码才能将其打开。
USE AdventureWorks2022;
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7';
BACKUP MASTER KEY TO URL = 'https://mydocsteststorage.blob.core.windows.net/mytestcontainer/AdventureWorks2022_master_key.bak'
ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg';
GO
另请参阅
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL)
RESTORE MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
加密层次结构
BACKUP SYMMETRIC KEY