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 権限が必要です。

使用例

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

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

関連項目

参照

CREATE MASTER KEY (Transact-SQL)

ALTER MASTER KEY (Transact-SQL)

概念

暗号化階層