測試環境如下
SQL Server 2019
SQL Server Management Studio 18.5
未使用安全的記憶體保護區
----------------------------------------------------
使用
CREATE TABLE Customers (
CustName nvarchar(60)
COLLATE Latin1_General_BIN2 ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = CEK_Auto1,
ENCRYPTION_TYPE = RANDOMIZED,
ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256'),
);
執行成功,建立出有確定性加密的CustName 欄位
-----------------------------------------------------------------------------------------------
但改使用
CREATE TABLE Customers (
CustName nvarchar(60)
);
ALTER TABLE [Customers] ALTER COLUMN CustName nvarchar(60) COLLATE Latin1_General_BIN2
ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = CEK_Auto1,
ENCRYPTION_TYPE = DETERMINISTIC,
ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256')
出現 "無法更改資料行 'CustName'。陳述式嘗試使用安全的記憶體保護區就地為資料行加密、解密或重新加密,但資料行的目前或 (和) 目標資料行加密金鑰未能使用記憶體保護區。"
想請問未使用安全的記憶體保護區的情形下,是無法透過指令改變已建好欄位的加密?
還是我有遺漏甚麼?