CREATE MASTER KEY (Transact-SQL)
建立資料庫主要金鑰。
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'
引數
- PASSWORD ='password'
這是用以加密資料庫中主要金鑰的密碼。 password 必須符合執行 SQL Server 執行個體之電腦的 Windows 密碼原則需求。
備註
資料庫主要金鑰是一個用來保護憑證私密金鑰和資料庫中非對稱金鑰的對稱金鑰。 建立資料庫主要金鑰時,系統會利用 AES_256 演算法和使用者提供的密碼來加密主要金鑰。 在 SQL Server 2008 和 SQL Server 2008 R2,使用 TRIPLE 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 來備份主要金鑰,然後將該備份儲存在安全的離站位置。 |
服務主要金鑰和資料庫主要金鑰,皆使用 AES-256 演算法加以保護。
權限
需要資料庫的 CONTROL 權限。
範例
下列範例會建立 AdventureWorks2012 資料庫的資料庫主要金鑰。 這個金鑰是利用密碼 23987hxJ#KL95234nl0zBe 來加密的。
USE AdventureWorks2012;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
GO
請參閱
參考
sys.symmetric_keys (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL)