Share via


RESTORE MASTER KEY (Transact-SQL)

バックアップ ファイルからデータベースのマスター キーをインポートします。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

RESTORE MASTER KEY FROM FILE = 'path_to_file' 
    DECRYPTION BY PASSWORD = 'password'
    ENCRYPTION BY PASSWORD = 'password'
    [ FORCE ]

引数

  • FILE = 'path_to_file'
    格納されているデータベース マスター キーへの完全なパスを、ファイル名を含めて指定します。path_to_file にはローカル パスまたはネットワーク上の場所を示す UNC パスを指定できます。

  • DECRYPTION BY PASSWORD = 'password'
    ファイルからインポートされるデータベース マスター キーの暗号化解除に必要なパスワードを指定します。

  • ENCRYPTION BY PASSWORD = 'password'
    データベースに読み込まれた後、データベース マスター キーの暗号化に使用されるパスワードを指定します。

  • FORCE
    現在のデータベース マスター キーが開いていない場合や、SQL Server でマスター キーを使用して暗号化された秘密キーの一部を暗号化解除できない場合でも、RESTORE の処理を継続します。

説明

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

FORCE オプションは、マスター キーを取得できないか、暗号化解除が失敗する場合にのみ使用してください。取得できないキーによってのみ暗号化されている情報は失われます。

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

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

権限

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

次の例では、データベース AdventureWorks2008R2 のマスター キーを復元します。

USE AdventureWorks2008R2;
RESTORE MASTER KEY 
    FROM FILE = 'c:\backups\keys\AdventureWorks2008R2_master_key' 
    DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04' 
    ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
GO