Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 通过过程始终加密与2个数据库通信_Sql Server_Stored Procedures_Encryption_Always Encrypted - Fatal编程技术网

Sql server 通过过程始终加密与2个数据库通信

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

目前,我正在使用always encryption将数据库迁移到SQL server 2016。我有两个数据库,通过存储过程从一个数据库和另一个表中选择数据。在DB2中使用存储过程从DB1选择或更新加密列时,我得到了操作数类型clash:error。 我已经为具有相同名称和相同证书的两个数据库创建了列主密钥和列

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本身中是否有其他方法来处理此问题?