Share via


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

このトピックでは、Transact-SQL を使用して、SQL Server 2014 でデータベース マスター キーをバックアップする方法について説明します。 データベース マスター キーは、データベース内の他のキーや証明書を暗号化する際に使用します。 削除または破損した場合、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 "AdventureWorks2012" master key. Because this master key is not encrypted by the service master key, a password must be specified when it is opened.  
    USE AdventureWorks2012;   
    GO  
    OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7';   
    
    BACKUP MASTER KEY TO FILE = 'c:\temp\exportedmasterkey'   
        ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg';   
    GO  
    

    注意

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

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

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

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