BACKUP MASTER KEY (Transact-SQL)

適用対象:SQL Server

データベースのマスター キーをエクスポートします。

重要

SQL Server 2022 (16.x) では、Azure Blob Storage にデータベース マスター キーをバックアップし、そこから復元できます。 URL 構文は SQL Server 2022 (16.x) 以降でのみ利用できます。

Transact-SQL 構文表記規則

構文

BACKUP MASTER KEY TO 
  {
    FILE = 'path_to_file'
  | URL = 'Azure Blob storage URL'
  }   
    ENCRYPTION BY PASSWORD = 'password'  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

FILE ='path_to_file'
マスター キーのエクスポート先ファイルの完全なパスを、ファイル名を含めて指定します。 このパスまたはネットワーク上の場所を示す UNC パスを指定できます。

URL ='Azure Blob ストレージ URL'
適用対象: SQL Server 2022 (16.x) 以降
Azure Blob ストレージの URL は https://<storage_account_name>.blob.core.windows.net/<storage_container_name>/<backup_file_name>.bak に類似した形式です。

ENCRYPTION BY PASSWORD ='password'
ファイル内のマスター キーの暗号化に使用されているパスワードを指定します。 このパスワードに対しては、複雑性がチェックされます。 詳細については、「 Password Policy」をご参照ください。

注釈

マスター キーは開かれている必要があります。したがって、バックアップ前に暗号化を解除する必要があります。 マスター キーがサービス マスター キーで暗号化されている場合は、明示的に開く必要はありません。 パスワードのみで暗号化されている場合は、明示的に開く必要があります。

マスター キーは作成後すぐにバックアップし、安全な別の場所に保存してください。

Azure Blob Storage に対して認証を行う

適用対象: SQL Server 2022 (16.x) 以降。

データベース マスター キーを Azure Blob Storage にバックアップするには、次の前提条件が適用されます。

  1. Azure ストレージ アカウントを取得している。

  2. 格納済みアクセス ポリシーと共有アクセス ストレージを作成する

  3. Shared Access Signature を使用して SQL Server 資格情報を作成する

    詳細については、SQL Server で Azure Blob Storage を使用する方法に関するチュートリアルを参照してください。

アクセス許可

データベースに対する CONTROL 権限が必要です。

次の例では、AdventureWorks2022 マスター キーをファイルにバックアップします。 このマスター キーはサービス マスター キーによって暗号化されているので、マスター キーを開くときにはパスワードを指定する必要があります。

USE AdventureWorks2022;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7';  
BACKUP MASTER KEY TO FILE = 'c:\temp\AdventureWorks2022_master_key'   
    ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg';  
GO   

次の例では、AdventureWorks2022 マスター キーを Azure Blob ストレージにバックアップします。 このマスター キーはサービス マスター キーによって暗号化されているので、マスター キーを開くときにはパスワードを指定する必要があります。

USE AdventureWorks2022;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7';  
BACKUP MASTER KEY TO URL = 'https://mydocsteststorage.blob.core.windows.net/mytestcontainer/AdventureWorks2022_master_key.bak'  
    ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg';  
GO   

関連項目

CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL)
RESTORE MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
暗号化階層
BACKUP SYMMETRIC KEY