現在、私は常に暗号化を使用して自分のDBをSQL Server 2016に移行しています。私は2つのデータベースを持って、ストアドプロシージャを介して他のテーブルから1つのDBからデータを選択します。 DB2でストアドプロシージャを使用してDB1から暗号化された列を選択または更新すると、Operand型のクラッシュ:エラーが発生しました。 同じ名前と同じ証明書を持つ2つのデータベースの列マスターキーと列を作成しました。常に2つのデータベースとの通信で、常に暗号化を使用して
use CustDb1
Select @custSSN = customer
from CustDb2..customer a
where a.SSN = @psSSN
両方のDB内の顧客でSSN列が暗号化されたが、私はこれを実行すると、私は以下のエラーを得ている:常に暗号化を使用して、データ移行のための
Msg 33277, Level 16, State 6, Procedure copy_customer, Line 891 [Batch Start Line 167] Encryption scheme mismatch for columns/variables '@psSSN'. The encryption scheme for the columns/variables is (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'TestCEK', column_encryption_key_database_name = 'CustDb2') and the expression near line '940' expects it to be (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'TestCEK', column_encryption_key_database_name = 'CustDb1').
によってサポートされていない
はお返事ニキルいただきありがとうございます。その実用的な製品と、この種のロジックを使用している250以上の手順があります。短時間ですべてのロジックを.netに移動することは非常に困難です。これをSQL Server自体で処理する代替方法はありますか? – Kiran