暗号化されたバックアップの作成Create an Encrypted Backup

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

このトピックでは、暗号化されたバックアップを Transact-SQL で作成するために必要な手順について説明します。This topic describes the steps necessary to create an encrypted backup using Transact-SQL. SQL Server Management StudioSQL Server Management Studioの使用例については、「 データベースの完全バックアップの作成 (SQL Server)」を参照してください。For an example using SQL Server Management StudioSQL Server Management Studio, see Create a Full Database Backup (SQL Server).

暗号化の使用によるディスクへのバックアップBackup to Disk with Encryption

前提条件:Prerequisites:

  • データベースのバックアップを作成するための空き領域が十分にあるローカル ディスクまたはストレージへのアクセス。Access to a local disk or to storage with adequate space to create a backup of the database.

  • master データベースのデータベース マスター キー、SQL Server インスタンスで使用可能な証明書または非対称キー。A Database Master Key for the master database, and a certificate or asymmetric key available on the instance of SQL Server. 暗号化の要件と権限については、「 バックアップの暗号化」を参照してください。For encryption requirements and permissions, see Backup Encryption.

データベースの暗号化されたバックアップをローカル ディスクに作成するには、次の手順を実行します。Use the following steps to create an encrypted backup of a database to a local disk. この例では、MyTestDB というユーザー データベースを使用します。This example uses a user database called MyTestDB.

  1. master データベースのデータベース マスター キーの作成: データベースに格納するマスター キーのコピーを暗号化するためのパスワードを指定します。Create a Database Master Key of the master database: Choose a password for encrypting the copy of the master key that will be stored in the database. データベース エンジンに接続して新しいクエリ ウィンドウを開き、次の例をコピーして貼り付け、 [実行] をクリックします。Connect to the database engine, start a new query windows and copy and paste the following example and click Execute.

    -- 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 データベースでバックアップ証明書を作成します。Create a Backup Certificate: Create a backup certificate in the master database. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute

    Use Master  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';  
    GO  
    
    
  3. データベースのバックアップ: 使用する暗号化アルゴリズムと証明書を指定します。Backup the database: Specify the encryption algorithm and certificate to use. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute.

    BACKUP DATABASE [MyTestDB]  
    TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      COMPRESSION,  
      ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO
    

EKM で保護されているバックアップの暗号化の例については、「Azure Key Vault を使用する拡張キー管理 (SQL Server)」を参照してください。For an example of encrypting a backup protected by an EKM, see Extensible Key Management Using Azure Key Vault (SQL Server).

暗号化して Azure Storage にバックアップするBackup to Azure Storage with Encryption

[SQL Server Backup to URL] オプションを使用して Azure Storage へのバックアップを作成する場合、暗号化の手順は同じですが、バックアップ先として URL を使用し、Azure Storage への認証用に SQL 資格情報を指定する必要があります。If you are creating a backup to Azure storage using the SQL Server Backup to URL option, the encryption steps are the same, but you must use URL as the destination and a SQL Credential to authenticate to the Azure storage. 暗号化のオプションを使用して Microsoft Azure への SQL Server マネージド バックアップSQL Server Managed Backup to Microsoft Azure を構成する場合は、「Microsoft Azure への SQL Server マネージド バックアップを有効にする」を参照してください。If you want to configure Microsoft Azure への SQL Server マネージド バックアップSQL Server Managed Backup to Microsoft Azure with encryption options, see Enable SQL Server Managed Backup to Microsoft Azure.

前提条件:Prerequisites:

  1. SQL Server 資格情報の作成: SQL Server 資格情報を作成するには、データベース エンジンに接続して新しいクエリ ウィンドウを開き、次の例をコピーして貼り付け、 [実行] をクリックします。Create SQL Server Credential: To create a SQL Server credential, connect to the Database Engine, open a new query window, and copy and paste the following example and click Execute.

    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. データベースのマスター キーを作成する: データベースに格納するマスター キーのコピーを暗号化するためのパスワードを指定します。Create a Database Master Key: Choose a password for encrypting the copy of the master key that will be stored in the database. データベース エンジンに接続して新しいクエリ ウィンドウを開き、次の例をコピーして貼り付け、 [実行] をクリックします。Connect to the database engine, start a new query windows and copy and paste the following example and click Execute.

    -- 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 データベースでバックアップ証明書を作成します。Create a Backup Certificate: Create a Backup Certificate in the master database. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example in the query window and click Execute

    USE Master;  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDBBackupEncryptCert ';  
    GO  
    
    
  4. データベースのバックアップ: 使用する暗号化アルゴリズムと証明書を指定します。Backup the database: Specify the encryption algorithm and the certificate to use. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute.

    BACKUP DATABASE [MyTestDB]  
    TO URL = N'C:\Program Files\Microsoft SQL Server\MSSQL13.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