CREATE MASTER KEY (Transact-SQL)
データベース マスタ キーを作成します。
構文
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'
引数
- PASSWORD ='password'
データベース内のマスタ キーの暗号化に使用するパスワードを指定します。
解説
データベース マスタ キーは対称キーで、証明書の秘密キーやデータベース内に存在する非対称キーを保護するときに使用します。データベース マスタ キーを作成するときには、トリプル DES アルゴリズムとユーザー指定のパスワードを使用してマスタ キーを暗号化します。マスタ キーの暗号化を自動的に解除できるようにするには、サービス マスタ キーを使用してキーのコピーを暗号化し、データベースと 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 を使用してバックアップし、安全な別の場所に保存してください。 |
権限
データベースに対する CONTROL 権限が必要です。
例
次の例では、データベース AdventureWorks
のマスタ キーを作成します。このキーは、パスワード 23987hxJ#KL95234nl0zBe
を使用して暗号化されます。
USE AdventureWorks;
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)