データベース マスター キーの復元

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

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    セキュリティ

  • Transact-SQL を使用してデータベース マスター キーを復元するには

作業を開始する準備

制限事項と制約事項

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

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

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

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

セキュリティ

権限

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

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

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

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

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

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

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

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

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

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

[トップに戻る] リンクで使用される矢印アイコン[Top]