Требуется разъяснение по этой документации .
Шифрование не поддерживается для:
Столбцы со свойством IDENTITY
Я хочу убедиться, что один из столбцов может быть столбцом IDENTITY, если он не зашифрован, но включен в ограничение FOREIGN-KEY, где иностранный аналог, который указывает на него, действительно зашифрован.
Предположим, что в SQL Server 2016 или более поздней версии у нас есть таблица CLIENT:
id int IDENTITY (1,1) NOT NULL [column is primary key]
clientname varchar(100)
[ПРИМЕЧАНИЕ: идентификатор клиента имеет большую мощность. В этой таблице почти 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