我正在尝试确定是否可以对临时表(Windows 2016 上的 SQL Server 2016 SP1 Enterprise)中的列使用 Always Encrypted。我试过如下:
CREATE TABLE #listofdates (compare_dt datetime2(7) encrypted with (
COLUMN_ENCRYPTION_KEY = [ColEnc1]
, ENCRYPTION_TYPE = Deterministic
, ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256'
) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
消息 33293,级别 16,状态 8,第 3 行
找不到列加密密钥“ColEnc1”,因为它不存在或您没有权限。
我认为此错误具有误导性,因为如果我只是将表名替换为#listofdates
另一个没有前导 # 的名称(因此从临时表切换到普通表),则该语句有效。
MS 站点上列出对 Always Encrypted 的限制/限制的部分没有提到临时表。
sql-server temporary-tables sql-server-2016 always-encrypted