CREATE MASTER KEY (Transact-SQL)

建立資料庫主要金鑰。

主題連結圖示Transact-SQL 語法慣例

語法

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'

引數

  • PASSWORD ='password'
    這是用來在資料庫中加密主要金鑰的密碼。password 必須符合執行 SQL Server 執行個體之電腦的 Windows 密碼原則需求。

備註

資料庫主要金鑰是一個用來保護憑證私密金鑰和資料庫中非對稱金鑰的對稱金鑰。建立資料庫主要金鑰時,會利用三重 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