ALTER SERVICE MASTER KEY (Transact-SQL)

SQL Server インスタンスのサービス マスタ キーを変更します。

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

構文

ALTER SERVICE MASTER KEY 
    [ { <regenerate_option> | <recover_option> } ] [;]

<regenerate_option> ::=
    [ FORCE ] REGENERATE

<recover_option> ::=
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }
    |    
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }

引数

  • FORCE
    データが失われる可能性があっても、サービス マスタ キーを再生成することを示します。詳細については、後の「SQL Server サービス アカウントの変更」を参照してください。

  • REGENERATE
    サービス マスタ キーを再生成することを示します。

  • OLD_ACCOUNT ='account_name'
    古い Windows サービス アカウントの名前を指定します。

  • OLD_PASSWORD ='password'
    古い Windows サービス アカウントのパスワードを指定します。

  • NEW_ACCOUNT ='account_name'
    新しい Windows サービス アカウントの名前を指定します。

  • NEW_PASSWORD ='password'
    新しい Windows サービス アカウントのパスワードを指定します。

説明

サービス マスタ キーは、リンク サーバーのパスワード、資格情報、またはデータベースのマスタ キーの暗号化が最初に必要になったときに、自動的に生成されます。サービス マスタ キーは、ローカル コンピュータのキーまたは Windows Data Protection API を使用して暗号化されます。この API では、SQL Server サービス アカウントの Windows 資格情報から派生するキーが使用されます。

サービス マスタ キーの暗号化は、作成元のサービス アカウントによって、またはそのサービス アカウントの Windows 資格情報にアクセスできるプリンシパルによってのみ解除できます。したがって、SQL Server サービスが実行される Windows アカウントを変更した場合は、新しいアカウントでサービス マスタ キーの暗号化を解除できるようにしておく必要があります。

SQL Server サービス アカウントの変更

SQL Server サービス アカウントを変更するには、SQL Server 構成マネージャを使用します。SQL Server では、サービス アカウントの変更を管理するために、サービス マスタ キーの冗長なコピーが保存されます。このコピーは、SQL Server サービス グループに与えられる必要な権限を持つコンピュータ アカウントによって保護されます。コンピュータを再構築した場合、以前にサービス アカウントによって使用されていたのと同じドメイン ユーザーがサービス マスタ キーを復元できますが、ローカル アカウントや、Local System、Local Service、Network Service の各アカウントでは復元できません。SQL Server を別のコンピュータに移動する場合は、バックアップと復元を使用してサービス マスタ キーを移行してください。

REGENERATE 句では、サービス マスタ キーが再生成されます。サービス マスタ キーが再生成されると、SQL Server では古いサービス マスタ キーで暗号化されていたすべてのキーの暗号化が解除され、それらのキーが新しいマスタ キーで暗号化されます。ただし、この操作はリソースを大量に消費するため、キーのセキュリティに問題がある場合を除き、リソース要求が少ないときに実行するように考慮してください。暗号化解除が 1 つでも失敗した場合は、ステートメント全体が失敗します。

FORCE オプションを使用すると、キーの再生成処理で現在のマスタ キーを取得できなかった場合や、そのマスタ キーで暗号化されている秘密キーをすべて暗号化解除できなかった場合でも、再生成処理が続行されます。FORCE は、再生成が失敗し、RESTORE SERVICE MASTER KEY ステートメントを使用してもサービス マスタ キーを復元できない場合にのみ使用してください。

注記注意

サービス マスタ キーは、SQL Server 暗号化階層のルートになります。サービス マスタ キーでは、直接または間接的に、そのツリー内にある他のすべてのキーとシークレットが保護されます。強制再生成で、依存関係のあるキーの暗号化を解除できなかった場合、そのキーで保護されているデータは失われます。

MACHINE KEY オプションを使用すると、マシン キーを使用して暗号化を追加または削除できます。

権限

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

次の例では、サービス マスタ キーを再生成します。

ALTER SERVICE MASTER KEY REGENERATE;
GO

変更履歴

変更内容

「構文」セクションの ENCRYPTION BY MACHINE について、誤りのあった文を削除しました。