データベースのマスター キーをバックアップする

適用対象 SQL Server

このトピックでは、Transact-SQL を使用して SQL Server でデータベース マスター キーをバックアップする方法について説明します。 データベース マスター キーは、データベース内の他のキーや証明書を暗号化する際に使用します。 データベース マスター キーが削除されるか破損すると、SQL Server は、暗号化されたキーの暗号化を解除できなくなる場合があります。さらに、そのキーを使用して暗号化されたデータは事実上失われます。 このため、データベース マスター キーはバックアップして、安全な別の場所に保存しておく必要があります。

開始する前に

制限事項と制約事項

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

  • マスター キーは作成後すぐにバックアップし、安全な別の場所に保存することをお勧めします。

セキュリティ

アクセス許可

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

Transact-SQL を備えた SQL Server Management Studio の使用

データベース マスター キーをバックアップするには

  1. SQL Server Management Studio で、バックアップするデータベース マスター キーが格納されている SQL Server インスタンスに接続します。

  2. バックアップ メディアでデータベース マスター キーの暗号化に使用するパスワードを指定します。 このパスワードに対しては、複雑性がチェックされます。

  3. バックアップしたキーのコピーを保存するためにリムーバブル バックアップ メディアを用意します。

  4. キーのバックアップを作成する NTFS ディレクトリを指定します。 このディレクトリは、次の手順で指定するファイルの作成先となります。 このディレクトリは、制限の厳しいアクセス制御リスト (ACL) で保護する必要があります。

  5. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  6. [標準] ツール バーの [新しいクエリ] をクリックします。

  7. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。

    -- Creates a backup of the "AdventureWorks2022" master key. Because this master key is not encrypted by the service master key, a password must be specified when it is opened.  
    USE AdventureWorks2022;   
    GO  
    OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7';   
    
    BACKUP MASTER KEY TO FILE = 'c:\temp\exportedmasterkey'   
        ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg';   
    GO  
    

    Note

    キーのファイル パスとキーのパスワード (存在する場合) は、実際は上に示したものと異なります。 両方がサーバーとキーのセットアップで固有であることをご確認ください。

  8. ファイルをバックアップ メディアにコピーして、コピーしたファイルを確認します。

  9. バックアップを安全な場所に保存します。

関連項目

詳細については、「OPEN MASTER KEY (Transact-SQL)」と「BACKUP MASTER KEY (Transact-SQL)」を参照してください。