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 権限が必要です。データベース マスター キーがパスワードで暗号化されている場合は、パスワードの情報も必要です。

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

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