データベースのマスター キーを復元する

適用対象:SQL Server

このトピックでは、Transact-SQL を使用して SQL Server のデータベース マスター キーを復元する方法を説明します。

開始する前に

制限事項と制約事項

  • マスター キーを復元するとき、 SQL Server では現在アクティブなマスター キーによって暗号化されたすべてのキーの暗号化が解除された後、復元されたマスター キーを使用してこれらのキーが暗号化されます。 この操作はリソースを大量に消費するため、リソース要求が少ないときに実行するように考慮してください。 現在のデータベースのマスター キーが開いていないか、開けない場合、またはこれにより暗号化されたキーのいずれかの暗号化の解除ができない場合、復元操作は失敗します。

  • 暗号化解除が 1 つでも失敗した場合、復元は失敗します。 FORCE オプションを使用するとエラーを無視できますが、暗号化を解除できないデータが失われる可能性があります。

  • マスター キーがサービス マスター キーで暗号化されている場合は、復元されたマスター キーもサービス マスター キーで暗号化されます。

  • 現在のデータベースにマスター キーが存在しない場合は、RESTORE MASTER KEY によりマスター キーが作成されます。 この新しいマスター キーは、サービス マスター キーで自動的に暗号化されません。

セキュリティ

アクセス許可

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

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

データベース マスター キーを復元するには

  1. バックアップしたデータベース マスター キーのコピーを、物理バックアップ メディアまたはローカル ファイル システム上のディレクトリから取得します。

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

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

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

    -- Restores the database master key of the AdventureWorks2022 database.  
    USE AdventureWorks2022;  
    GO  
    RESTORE MASTER KEY   
        FROM FILE = 'c:\backups\keys\AdventureWorks2022_master_key'   
        DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'   
        ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';  
    GO  
    

    注意

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

関連項目