首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定加密的列是否涉及Server 2016中的外键约束?

确定加密的列是否涉及Server 2016中的外键约束?
EN

Stack Overflow用户
提问于 2019-05-23 14:48:13
回答 1查看 560关注 0票数 1

要求澄清这份文件

以下方面不支持加密:

具有IDENTITY属性的列

我想确保其中一个列可以是一个身份列,如果它不是加密的,而是涉及一个外键约束,其中指向它的外国对应物确实是加密的。

假设在Server 2016或更高版本中,我们有一个客户端表:

代码语言:javascript
复制
id int IDENTITY (1,1) NOT NULL  [column is primary key]
clientname varchar(100)

注意:客户id具有很高的基数。这张桌子上有近20万名客户。

和一张MEDICALPROCEDURES表:

代码语言:javascript
复制
id int PK
procedurecode varchar(10)
clientid  int

现在有一个外键约束:

代码语言:javascript
复制
ALTER TABLE MEDICALPROCEDURES
ADD CONSTRAINT FK_MEDICALPROCEDURES_CLIENT
FOREIGN KEY(clientid) REFERENCES CLIENT(id)

现在,如果对列MEDICALPROCEDURES.clientid进行了确定性加密,而列CLIENT.id未加密,那么外键约束会成功吗?

像下面这样的查询会透明地成功吗?

代码语言:javascript
复制
select 
C.clientname, MP.procedurecode
from CLIENT c inner join MEDICALPROCEDURES MP
on C.id=MP.clientid
where C.clientid=12345
EN

回答 1

Stack Overflow用户

发布于 2019-05-23 15:36:30

这是行不通的。

从文档中不支持以下内容:“使用随机加密或使用确定性加密时,如果引用列和引用列使用不同的密钥或算法,则引用外键约束中的列”。因此,您需要对id和clientid使用相同的确定性加密。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56277795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档