BACKUP MASTER KEY (Transact-SQL)
適用於:SQL Server
匯出資料庫主要金鑰。
重要
SQL Server 2022 (16.x) 導入了將資料庫主要金鑰備份到 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
下列範例會建立 AdventureWorks2022
主要金鑰的備份並儲存在 Azure Blob 儲存體。 因為這個主要金鑰並非利用服務主要金鑰加密,所以開放時必須指定密碼。
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