【发布时间】:2019-05-23 14:48:13
【问题描述】:
在this documentation寻求澄清。
不支持加密:
具有 IDENTITY 属性的列
我想确保其中一列可以是 IDENTITY 列,如果它未加密但涉及 FOREIGN-KEY 约束,其中指向它的外部对应项确实已加密。
假设在 SQL Server 2016 或更高版本中,我们有一个 CLIENT 表:
id int IDENTITY (1,1) NOT NULL [column is primary key]
clientname varchar(100)
[注意:CLIENT id 具有高基数。此表中有近 200,000 个客户。]
还有一个 MEDICALPROCEDURES 表:
id int PK
procedurecode varchar(10)
clientid int
现在是外键约束:
ALTER TABLE MEDICALPROCEDURES
ADD CONSTRAINT FK_MEDICALPROCEDURES_CLIENT
FOREIGN KEY(clientid) REFERENCES CLIENT(id)
现在,如果列MEDICALPROCEDURES.clientid 被确定性加密,而列CLIENT.id 未加密,那么外键约束会成功吗?
像下面这样的查询会透明地成功吗?
select
C.clientname, MP.procedurecode
from CLIENT c inner join MEDICALPROCEDURES MP
on C.id=MP.clientid
where C.clientid=12345
【问题讨论】:
标签: sql-server encryption foreign-keys deterministic