暗号化されたバックアップの作成
適用対象: SQL Server
この記事では、暗号化されたバックアップを Transact-SQL で作成するために必要な手順について説明します。 SQL Server Management Studio の使用例については、「データベースの完全バックアップの作成」を参照してください。
注意事項
暗号化されたデータベースを復元するには、データベースを暗号化するために使用した証明書や非対称キーにアクセスする必要があります。 証明書または非対称キーがないと、データベースを復元することはできません。 バックアップを保存する必要がある期間中は、データベースの暗号化キーの暗号化に使用した証明書を保存します。 詳細については、「 SQL Server Certificates and Asymmetric Keys」をご覧ください。
前提条件
暗号化されたバックアップのストレージ。 次のいずれかを選択します。
- データベースのバックアップを作成するための空き領域が十分にあるローカル ディスクまたはストレージ。
- Azure Storage アカウントとコンテナー 詳しくは、「ストレージ アカウントの作成」をご覧ください。
master
データベースのデータベース マスター キー (DMK)、SQL Server インスタンス上の証明書または非対称キー。 暗号化の要件とアクセス許可については、「バックアップの暗号化」を参照してください。
データベース マスター キー (DMK) を作成する
データベースに格納する DMK のコピーを暗号化するためのパスワードを指定します。 データベース エンジンに接続して新しいクエリ ウィンドウを開き、次の例をコピーして貼り付け、[実行]を選択します。
<master key password>
を強力なパスワードに置き換え、DMK とパスワードの両方のコピーを、安全な場所に保管してください。
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
暗号化を使用してデータベースをバックアップする
暗号化されたバックアップの作成方法には、主に次の 2 つのオプションがあります。
- ディスクへのバックアップ
- Azure Storage へのバックアップ
データベースの暗号化されたバックアップをローカル ディスクに作成するには、次の手順を実行します。 この例では、MyTestDB
というユーザー データベースを使用します。
使用する暗号化アルゴリズムと証明書を指定します。 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。
<path_to_local_backup>
を、SQL Server への書き込みアクセス許可があるローカル パスに置き換えます。 例えば、D:\SQLBackup
などです。
BACKUP DATABASE [MyTestDB]
TO DISK = N'<path_to_local_backup>\MyTestDB.bak'
WITH
COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = MyTestDBBackupEncryptCert
),
STATS = 10;
GO
拡張キー管理 (EKM) で保護されているバックアップの暗号化の例については、「Azure Key Vault を使用する拡張キー管理 (SQL Server)」を参照してください。