ALTER MASTER KEY (Transact-SQL)

データベース マスタ キーのプロパティを変更します。

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

構文

ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'

<encryption_option> ::=
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
    | 
    DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }

引数

  • PASSWORD ='password'
    データベース マスタ キーの暗号化または暗号化解除に使用するパスワードを指定します。password は、SQL Server のインスタンスを実行しているコンピュータの Windows パスワード ポリシーの要件を満たす必要があります。

説明

REGENERATE オプションを指定すると、データベース マスタ キーと、それによって保護されるすべてのキーが再作成されます。これらのキーは、最初に元のマスタ キーで暗号化解除され、次に新しいマスタ キーで暗号化されます。この操作はリソースを大量に消費するため、マスタ キーのセキュリティに問題がある場合を除き、リソース要求が少ないときに実行するように考慮してください。

FORCE オプションを指定すると、マスタ キーを使用できなかった場合や、暗号化されているすべての秘密キーをサーバーで暗号化解除できなかった場合でも、キーの再生成が続行されます。マスタ キーを開くことができない場合は、RESTORE MASTER KEY ステートメントを使用して、マスタ キーをバックアップから復元してください。FORCE オプションは、マスタ キーを取得できないか、暗号化解除が失敗する場合にのみ使用してください。取得できないキーによってのみ暗号化されている情報は失われます。

DROP ENCRYPTION BY SERVICE MASTER KEY オプションを指定すると、データベース マスタ キーの暗号化がサービス マスタ キーによって解除されます。

ADD ENCRYPTION BY SERVICE MASTER KEY を指定すると、マスタ キーのコピーがサービス マスタ キーを使用して暗号化され、現在のデータベースおよびマスタの両方に格納されます。

権限

データベースに対する CONTROL 権限が必要です。データベース マスタ キーがパスワードで暗号化されている場合は、パスワードの情報も必要です。

次の例では、AdventureWorks の新しいデータベースのマスタ キーを作成し、暗号化階層でこのマスタ キーの下位にあるキーを再暗号化します。

USE AdventureWorks;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO

変更履歴

変更内容

角かっこ [] の代わりに中かっこ {} を使用するように、構文の <encryption_option> セクションを修正しました。