データベースのマスター キーを復元する
適用対象 SQL Server
このトピックでは、Transact-SQL を使用して SQL Server のデータベース マスター キーを復元する方法を説明します。
開始する前に
制限事項と制約事項
マスター キーを復元するとき、 SQL Server では現在アクティブなマスター キーによって暗号化されたすべてのキーの暗号化が解除された後、復元されたマスター キーを使用してこれらのキーが暗号化されます。 この操作はリソースを大量に消費するため、リソース要求が少ないときに実行するように考慮してください。 現在のデータベースのマスター キーが開いていないか、開けない場合、またはこれにより暗号化されたキーのいずれかの暗号化の解除ができない場合、復元操作は失敗します。
暗号化解除が 1 つでも失敗した場合、復元は失敗します。 FORCE オプションを使用するとエラーを無視できますが、暗号化を解除できないデータが失われる可能性があります。
マスター キーがサービス マスター キーで暗号化されている場合は、復元されたマスター キーもサービス マスター キーで暗号化されます。
現在のデータベースにマスター キーが存在しない場合は、RESTORE MASTER KEY によりマスター キーが作成されます。 この新しいマスター キーは、サービス マスター キーで自動的に暗号化されません。
セキュリティ
アクセス許可
データベースに対する CONTROL 権限が必要です。
Transact-SQL を備えた SQL Server Management Studio の使用
データベース マスター キーを復元するには
バックアップしたデータベース マスター キーのコピーを、物理バックアップ メディアまたはローカル ファイル システム上のディレクトリから取得します。
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
-- 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
Note
キーのファイル パスとキーのパスワード (存在する場合) は、実際は上に示したものと異なります。 両方がサーバーとキーのセットアップで固有であることをご確認ください。