暗号化されたバックアップの作成
このトピックでは、暗号化されたバックアップを Transact-SQL で作成するために必要な手順について説明します。
暗号化の使用によるディスクへのバックアップ
前提条件:
データベースのバックアップを作成するための空き領域が十分にあるローカル ディスクまたはストレージへのアクセス。
master データベースのデータベース マスター キー、SQL Server インスタンスで使用可能な証明書または非対称キー。 暗号化の要件と権限については、「 バックアップの暗号化」を参照してください。
データベースの暗号化されたバックアップをローカル ディスクに作成するには、次の手順を実行します。 この例では、MyTestDB というユーザー データベースを使用します。
master データベースのデータベース マスター キーの作成: データベースに格納するマスター キーのコピーを暗号化するためのパスワードを指定します。 データベース エンジンに接続して新しいクエリ ウィンドウを開き、次の例をコピーして貼り付け、 [実行] をクリックします。
-- 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 Storage にバックアップする
[SQL Server Backup to URL] オプションを使用して Azure Storage へのバックアップを作成する場合、暗号化の手順は同じですが、バックアップ先として URL を使用し、Azure Storage への認証用に SQL 資格情報を指定する必要があります。 暗号化オプションを使用して Microsoft Azure へのマネージド バックアップSQL Server構成する場合は、「SQL Serverマネージド バックアップを Azure に設定する」および「可用性グループ用の Azure へのマネージド バックアップSQL Server設定する」を参照してください。
前提条件:
Windows ストレージ アカウントとコンテナー。 詳細については、以下を参照してください。 レッスン 1:Azure ストレージ オブジェクトの作成。
マスター データベースのデータベース マスター キーと、SQL Serverのインスタンスの証明書または非対称キー。 暗号化の要件と権限については、「 バックアップの暗号化」を参照してください。
SQL Server 資格情報の作成: SQL Server 資格情報を作成するには、データベース エンジンに接続して新しいクエリ ウィンドウを開き、次の例をコピーして貼り付け、 [実行] をクリックします。
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