Sql server 通过过程始终加密与2个数据库通信
目前,我正在使用always encryption将数据库迁移到SQL server 2016。我有两个数据库,通过存储过程从一个数据库和另一个表中选择数据。在DB2中使用存储过程从DB1选择或更新加密列时,我得到了操作数类型clash:error。 我已经为具有相同名称和相同证书的两个数据库创建了列主密钥和列Sql server 通过过程始终加密与2个数据库通信,sql-server,stored-procedures,encryption,always-encrypted,Sql Server,Stored Procedures,Encryption,Always Encrypted,目前,我正在使用always encryption将数据库迁移到SQL server 2016。我有两个数据库,通过存储过程从一个数据库和另一个表中选择数据。在DB2中使用存储过程从DB1选择或更新加密列时,我得到了操作数类型clash:error。 我已经为具有相同名称和相同证书的两个数据库创建了列主密钥和列 use CustDb1 Select @custSSN = customer from CustDb2..customer a where
use CustDb1
Select @custSSN = customer
from CustDb2..customer a
where a.SSN = @psSSN
两个数据库中customer中的SSN列都是加密的,但当我运行此操作时,我得到以下错误:
Msg 33277,16级,状态6,程序副本,客户,第891行[批次]
起始行167]列/变量的加密方案不匹配
“@psSSN”。列/变量的加密方案为
(加密类型='DETERMINISTIC',加密算法名称=
“AEAD_AES_256_CBC_HMAC_SHA_256”,列\u加密\u密钥\u名称=
'TestCEK',column_encryption_key_database_name='CustDb2')和
第“940”行附近的表达式预期为(加密类型=
“确定性”,加密算法名称=
“AEAD_AES_256_CBC_HMAC_SHA_256”,列\u加密\u密钥\u名称=
'TestCEK',列\加密\密钥\数据库\名称='CustDb1')
记录了使用“始终加密”进行数据迁移的最佳实践。请按照博客中指定的说明进行数据迁移
目前,“始终加密”不支持对加密数据进行跨数据库比较。使用“始终加密”进行数据迁移的最佳实践已记录在案。请按照博客中指定的说明进行数据迁移
目前,Always encrypted不支持对加密数据进行跨数据库比较感谢您的回复Nikhil。它是一个工作产品,有250多个程序使用这种逻辑。很难在短时间内将所有逻辑移到.net。sql server本身是否有其他方法来处理此问题?感谢您的回复Nikhil。它是一个工作产品,有250多个程序使用这种逻辑。很难在短时间内将所有逻辑移到.net。在sql server本身中是否有其他方法来处理此问题?