次の方法で共有


ALTER SERVICE MASTER KEY (Transact-SQL)

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

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

構文

ALTER SERVICE MASTER KEY 
    [ { <regenerate_option> | <recover_option> } ]
    |
    [ { ADD | DROP } ENCRYPTION BY MACHINE KEY ]

<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 サービス グループに付与されている必要権限を持つコンピュータ アカウントによって保護されています。コンピュータを再構築した場合は、サービス アカウントで以前に使用されていた同じドメイン ユーザーによってサービス マスタ キーを回復できます。これはローカル アカウント (ローカル システム、ローカル サービス、ネットワーク サービス アカウントなど) には該当しません。SQL Server を別のコンピュータに移動する場合は、バックアップと復元機能を使用してサービス マスタ キーを移行してください。

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

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

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

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

権限

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

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

ALTER SERVICE MASTER KEY REGENERATE;
GO

参照

関連項目

RESTORE SERVICE MASTER KEY (Transact-SQL)
BACKUP SERVICE MASTER KEY (Transact-SQL)

その他の技術情報

暗号化階層

ヘルプおよび情報

SQL Server 2005 の参考資料の入手