共用方式為


建立加密備份

本主題描述使用 Transact-SQL 建立加密備份所需的步驟。

使用加密備份至磁碟

先決條件

  • 存取本機磁碟或具有足夠空間的記憶體,以建立資料庫的備份。

  • 在主資料庫中使用的資料庫主密鑰,以及在 SQL Server 實例上可用的憑證或非對稱密鑰。 如需加密需求和許可權,請參閱 備份加密

使用下列步驟建立要存放到本機磁碟的資料庫加密備份。 此範例使用名為 MyTestDB 的用戶資料庫。

  1. 建立主資料庫的資料庫主密鑰:選擇密碼來加密將儲存在資料庫中的主密鑰複本。 連接到資料庫引擎,啟動新的查詢視窗,然後複製並貼上下列範例,然後按兩下 [ 執行]。

    -- 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  
    
    
  2. 建立備份憑證: 在 master 資料庫中建立備份憑證。 將下列範例複製並貼到查詢視窗中,然後按下 [ 執行]

    Use Master  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';  
    GO  
    
    
  3. 備份資料庫: 指定要使用的加密演演算法和憑證。 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行]

    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 實例上的憑證或非對稱密鑰。 如需加密需求和許可權,請參閱 備份加密

  1. 建立 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  
    
  2. 建立資料庫主要金鑰: 選擇密碼以加密即將儲存於資料庫的主要金鑰副本。 連接到資料庫引擎,啟動新的查詢視窗,然後複製並貼上下列範例,然後按兩下 [ 執行]。

    -- 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  
    
    
  3. 建立備份憑證: 在 master 資料庫中建立備份憑證。 在查詢視窗中複製並貼上下列範例,然後按兩下[ 執行]

    USE Master;  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDBBackupEncryptCert ';  
    GO  
    
    
  4. 備份資料庫: 指定要使用的加密演演算法和憑證。 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行]

    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