OPEN MASTER KEY (Transact-SQL)

適用範圍: 是SQL Server (所有支援的版本) 是Azure SQL Database 是Azure SQL 受控執行個體 是Azure Synapse Analytics 是平行處理資料倉儲

開啟目前資料庫的資料庫主要金鑰。

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

語法

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'   

注意

Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。

注意

若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

'password'
用來加密資料庫主要金鑰的密碼。

備註

如果利用服務主要金鑰來加密資料庫主要金鑰,則在解密或加密需要它時,會自動加以開啟。 在這個情況下,不需要使用 OPEN MASTER KEY 陳述式。

當資料庫第一次連接或還原到新的 SQL Server執行個體時,資料庫主要金鑰複本 (由服務主要金鑰加密) 尚未儲存在伺服器中。 您必須利用 OPEN MASTER KEY 陳述式來解密資料庫主要金鑰 (DMK)。 DMK 解密之後,您便可以選擇利用 ALTER MASTER KEY REGENERATE 陳述式來提供服務主要金鑰 (SMK) 所加密的 DMK 複本給伺服器,以在未來啟用自動解密。 當資料庫從舊版升級時,應該會重新產生 DMK 以使用較新的 AES 演算法。 如需重新產生 DMK 的詳細資訊,請參閱 ALTER MASTER KEY (Transact-SQL)。 重新產生 DMK 金鑰以升級至 AES 所需的時間是取決於 DMK 所保護的物件數目而定。 重新產生 DMK 金鑰以升級至 AES 只需執行一次,且不會影響金鑰循環策略中後續的重新產生。

您可以設定 DROP ENCRYPTION BY SERVICE MASTER KEY 選項來使用 ALTER MASTER KEY 陳述式,以從自動金鑰管理中排除特定資料庫的資料庫主要金鑰。 之後,您必須利用密碼來明確開啟資料庫主要金鑰。

如果回復明確開啟資料庫主要金鑰的交易,金鑰會維持開啟狀態。

權限

需要資料庫的 CONTROL 權限。

範例

下列範例會開啟 AdventureWorks2012 資料庫已利用密碼來加密的資料庫主要金鑰。

USE AdventureWorks2012;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';  
GO  

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

下列範例會開啟已利用密碼來加密的資料庫主要金鑰。

USE master;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';  
GO  
CLOSE MASTER KEY;  
GO  

另請參閱

CREATE MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL)
BACKUP MASTER KEY (Transact-SQL)
RESTORE MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
加密階層