本主題描述使用 Transact-SQL 建立加密備份所需的步驟。
使用加密備份至磁碟
先決條件:
存取本機磁碟或具有足夠空間的記憶體,以建立資料庫的備份。
在主資料庫中使用的資料庫主密鑰,以及在 SQL Server 實例上可用的憑證或非對稱密鑰。 如需加密需求和許可權,請參閱 備份加密。
使用下列步驟建立要存放到本機磁碟的資料庫加密備份。 此範例使用名為 MyTestDB 的用戶資料庫。
建立主資料庫的資料庫主密鑰:選擇密碼來加密將儲存在資料庫中的主密鑰複本。 連接到資料庫引擎,啟動新的查詢視窗,然後複製並貼上下列範例,然後按兩下 [ 執行]。
-- Creates a database master key. -- The key is encrypted using the password "<master key password>" USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>'; GO建立備份憑證: 在 master 資料庫中建立備份憑證。 將下列範例複製並貼到查詢視窗中,然後按下 [ 執行]
Use Master GO CREATE CERTIFICATE MyTestDBBackupEncryptCert WITH SUBJECT = 'MyTestDB Backup Encryption Certificate'; GO備份資料庫: 指定要使用的加密演演算法和憑證。 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。
BACKUP DATABASE [MyTestDB] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak' WITH COMPRESSION, ENCRYPTION ( ALGORITHM = AES_256, SERVER CERTIFICATE = MyTestDBBackupEncryptCert ), STATS = 10 GO
如需加密受 EKM 保護之備份的範例,請參閱使用 Azure Key Vault 進行可延伸密鑰管理(SQL Server)。
使用加密備份至 Azure 記憶體
如果您要使用 [SQL Server 備份至 URL ] 選項建立備份至 Azure 記憶體,加密步驟會相同,但您必須使用 URL 作為目的地和 SQL 認證向 Azure 記憶體進行驗證。 如果您想要使用加密選項將 SQL Server 受控備份設定為Microsoft Azure,請參閱 設定 SQL Server 受控備份至 Azure 和設定 可用性群組的 SQL Server 受控備份。
先決條件:
Windows 記憶體帳戶和容器。 如需詳細資訊,請參閱。 第 1 課:建立 Azure 記憶體物件。
master 資料庫的主要資料庫密鑰,以及 SQL Server 實例上的憑證或非對稱密鑰。 如需加密需求和許可權,請參閱 備份加密。
建立 SQL Server 認證: 若要建立 SQL Server 認證,請連線到 Database Engine、開啟新的查詢視窗,然後複製並貼上下列範例,然後按兩下 [ 執行]。
CREATE CREDENTIAL mycredential WITH IDENTITY= 'mystorageaccount' - this is the name of the storage account you specified when creating a storage account , SECRET = '<storage account access key>' - this should be either the Primary or Secondary Access Key for the storage account建立資料庫主要金鑰: 選擇密碼以加密即將儲存於資料庫的主要金鑰副本。 連接到資料庫引擎,啟動新的查詢視窗,然後複製並貼上下列範例,然後按兩下 [ 執行]。
-- Creates a database master key. -- The key is encrypted using the password "<master key password>" USE Master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>'; GO建立備份憑證: 在 master 資料庫中建立備份憑證。 在查詢視窗中複製並貼上下列範例,然後按兩下[ 執行]
USE Master; GO CREATE CERTIFICATE MyTestDBBackupEncryptCert WITH SUBJECT = 'MyTestDBBackupEncryptCert '; GO備份資料庫: 指定要使用的加密演演算法和憑證。 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。
BACKUP DATABASE [MyTestDB] TO URL = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak' WITH CREDENTIAL 'mycredential' - this is the name of the credential created in the first step. ,COMPRESSION ,ENCRYPTION ( ALGORITHM = AES_256, SERVER CERTIFICATE = MyTestDBBackupEncryptCert ), STATS = 10 GO