RESTORE MASTER KEY (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