サービスマスターキーを復元する

適用対象:SQL Server

この記事では、Transact-SQL を使用して SQL Server でサービス マスター キーを復元する方法について説明します。

警告

サービスマスターキーを復元する必要はほとんどないでしょう。 もしそうであれば、非常に注意して進めてください。 詳細は「 サービスマスターキーのバックアップ」をご覧ください。

Remarks

サービスマスターキーを復元すると、SQL Serverは現在のサービスマスターキーで暗号化されたすべてのキーと秘密を復号し、バックアップファイルから読み込んだサービスマスターキーで暗号化します。

復号のいずれかが失敗すれば、復元は失敗します。 FORCEオプションを使ってエラーを無視することもできますが、このオプションでは復号できないデータが失われてしまいます。

暗号化階層の再生成操作はリソースを大量に消費するため、 需要が低い時期にこの作業をスケジュールしてください。

注意事項

サービス マスター キーは、 SQL Server 暗号化階層のルートになります。 サービス マスター キーでは、直接または間接的に、そのツリー内の他のすべてのキーが保護されます。 強制復元中に依存する鍵が復号できない場合、その鍵で保護されたデータは失われます。

アクセス許可

サーバーに対する CONTROL SERVER 権限が必要です。

サービス マスター キーの復元

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

  2. サービスマスターキーを復元したいSQL Serverインスタンスに接続してください。 SQLcmd、SQL Server Management Studio (SSMS)Visual Studio Code 用の MSSQL 拡張機能など、使い慣れた SQL Server クライアント ツールを使用して、SQL Server のインスタンスに接続できます。

  3. 以下の Transact-SQL スクリプトを確認して実行します。

    この例では、サービスマスターキーを C:\Backups\Keys\service_master_keyから復元します。 これらの設定を環境に合わせて変更してください。

    USE master;
    GO
    
    RESTORE SERVICE MASTER KEY
        FROM FILE = 'C:\Backups\Keys\service_master_key'
        DECRYPTION BY PASSWORD = '<password>';
    GO