単一のレコードを既存のテーブルに挿入しようとすると、主キー制約違反エラーが発生します。
最初に問題が発生したのはマージ ステートメント内でしたが、レコードを単独で挿入しようとすると問題を再現できます。
主キーは、約 20 個の列値の値の連結で hashbytes 関数から生成された varbinary(20) 値にあります。挿入しようとしている varbinary(20) 値はターゲット テーブルに存在せず、ソース テーブルに 1 回しか存在しません。実際の列の値をフィルタリングすると、結果は同じです。ソースに 1 レコード、ターゲットにゼロ レコード。
ターゲット表には 101 178 878 行があります。主キーはテーブルのクラスター化インデックスではなく、クラスター化インデックスとして機能する bigint ID 列があります。ターゲットにもソースにもトリガーはありません。照合順序はどこでも同じです (Danish_Norwegian_CI_AS)。インスタンスは SQL Server 2008 R2、Standard Edition です。
私は今、完全に立ち往生しています。誰かが助けてくれることを願っています。
読んでくれてありがとう :-)
これは失敗する値です: 0x0571F5F713CF220BB0DB057BBCE7E158CA6F89C0
ターゲットでは、次の値が失敗した値に最も近い値です。失敗したものに等しい価値はありません。
0x0571F5F1238704E1A9D612F0A1648766B769E2AE 0x0571F5F713CF220BB0DB057BBCE7E158CA6F89C0 -- 失敗する値 0x0571F608CBE12A007F3DC3736D2F03D90ECCF3F7
編集:データベースに予期しない動作を引き起こす破損の問題があります。