CREATE MASTER KEY (Transact-SQL)

データベース マスター キーを作成します。

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

構文

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'

引数

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

説明

データベース マスター キーは対称キーで、証明書の秘密キーやデータベース内に存在する非対称キーを保護するときに使用します。 データベース マスター キーを作成するときには、AES_256 アルゴリズムとユーザー指定のパスワードを使用してマスター キーを暗号化します。 マスター キーの暗号化を自動的に解除できるようにするには、サービス マスター キーを使用してキーのコピーを暗号化し、データベースと master の両方に格納します。 通常、master に格納されたコピーは、マスター キーが変更されるたびに暗黙的に更新されます。 この既定の設定は、ALTER MASTER KEY の DROP ENCRYPTION BY SERVICE MASTER KEY オプションを使用して変更できます。 サービス マスター キーによって暗号化されていないマスター キーは、OPEN MASTER KEY ステートメントとパスワードを使用して開かれている必要があります。

master 内の sys.databases カタログ ビューの is_master_key_encrypted_by_server 列には、データベース マスター キーがサービス マスター キーによって暗号化されているかどうかが示されます。

データベース マスター キーに関する情報は、sys.symmetric_keys カタログ ビューで確認できます。

重要な注意事項重要

マスター キーは BACKUP MASTER KEY を使用してバックアップし、安全な別の場所に保存してください。

サービス マスター キーとデータベース マスター キーは、AES-256 アルゴリズムを使用して保護されます。

権限

データベースに対する CONTROL 権限が必要です。

使用例

次の例では、データベース AdventureWorks2012 のマスター キーを作成します。 このキーは、パスワード 23987hxJ#KL95234nl0zBe を使用して暗号化されます。

USE AdventureWorks2012;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
GO

関連項目

参照

sys.symmetric_keys (Transact-SQL)

sys.databases (Transact-SQL)

OPEN MASTER KEY (Transact-SQL)

ALTER MASTER KEY (Transact-SQL)

DROP MASTER KEY (Transact-SQL)

CLOSE MASTER KEY (Transact-SQL)

概念

暗号化階層