設定 enclave type for Always Encrypted (伺服器組態選項)

適用於:SQL Server 2019 (15.x) 和更新版本 - 僅限 Windows

本文描述如何針對具有安全記憶體保護區的 Always Encrypted 啟用或停用安全記憶體保護區。 如需詳細資訊,請參閱具有安全記憶體保護區的 Always Encrypted在 SQL Server 中設定安全記憶體保護區

[資料行加密記憶體保護區類型] 伺服器設定選項可控制用於 Always Encrypted 的安全記憶體保護區類型。 可將此選項設定為下列其中一個值:

描述
0 無安全記憶體保護區。 資料庫引擎將不會初始化 Always Encrypted 的安全記憶體保護區。 因此,將無法使用具有安全記憶體保護區之 Always Encrypted 的功能。
1 虛擬化型安全性 (VBS) 。 資料庫引擎將會嘗試初始化虛擬化型安全性 (VBS) 記憶體保護區。

重要

除非您重新啟動 SQL Server 執行個體,否則 [資料行加密記憶體保護區類型] 的變更不會生效。

您可以使用 sys.configurations (Transact-SQL) 檢視,檢查已設定記憶體保護區類型值和目前作用中的記憶體保護區類型值。

若要確認在上次重新啟動 SQL Server 後已正確初始化目前作用中類型 (大於 0) 的記憶體保護區,請檢查 sys.dm_column_encryption_enclave (Transact-SQL) 檢視:

如需如何設定 VBS 記憶體保護區的逐步指示,請參閱步驟 2:在 SQL Server 中啟用具有安全記憶體保護區的 Always Encrypted

範例

下列範例會啟用安全記憶體保護區,並將記憶體保護區類型設定為 VBS:

sp_configure 'column encryption enclave type', 1;  
GO  
RECONFIGURE;  
GO  

下列範例會停用安全記憶體保護區:

sp_configure 'column encryption enclave type', 0;  
GO  
RECONFIGURE;  
GO  

下列查詢會擷取設定的記憶體保護區類型,以及目前作用中的記憶體保護區類型:

USE [master];
GO
SELECT
[value]
, CASE [value] WHEN 0 THEN 'No enclave' WHEN 1 THEN 'VBS' ELSE 'Other' END AS [value_description]
, [value_in_use]
, CASE [value_in_use] WHEN 0 THEN 'No enclave' WHEN 1 THEN 'VBS' ELSE 'Other' END AS [value_in_use_description]
FROM sys.configurations
WHERE [name] = 'column encryption enclave type'; 

後續步驟

為具有安全記憶體保護區的 Always Encrypted 管理金鑰

另請參閱

伺服器組態選項 (SQL Server)
sp_configure (Transact-SQL)
RECONFIGURE (Transact-SQL)
sys.configurations (Transact-SQL)
sys.dm_column_encryption_enclave (Transact-SQL)