如何在始终加密的列上执行OPENJSON

时间:2019-03-22 19:34:21

标签: sql sql-server always-encrypted

我具有以下表格结构

CREATE TABLE [dbo].[JsonInfo](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [dateCreated] [datetime] NOT NULL,
    [data] [nvarchar](max) COLLATE Latin1_General_BIN2 ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = [CEK_MyKey], ENCRYPTION_TYPE = Deterministic, ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256') NOT NULL,
) 

使用始终加密对列数据进行加密。

我想对加密列执行以下OPENJSON查询。

SELECT Id,
       Name,
       LastName
FROM   [dbo].[JsonInfo] CROSS APPLY OPENJSON ([data]) WITH 
(
    Id NVARCHAR (2000) '$.Id', 
    Name NVARCHAR (2000) '$.Name', 
    LastName NVARCHAR (2000) '$.LastName'
)

我认为这是不可能的,因为OPENJSON操作是在服务器级别执行的,因为它没有证书,因此无法解密。

希望有办法。

谢谢

0 个答案:

没有答案