当我尝试将单条记录插入现有表时,出现违反主键约束错误。
问题第一次出现是在合并语句中,但我可以通过 .
主键位于 varbinary(20) 值上,该值是从大约 20 个列值的值的串联上的 hashbytes 函数生成的。我尝试插入的 varbinary(20) 值不存在于目标表中,并且它仅存在于源表中一次。当我过滤实际列值时,结果是一样的;源中的一条记录和目标中的零条记录。
目标表有 101 178 878 行。主键不是表上的聚集索引,而是有一个 bigint 标识列作为聚集索引。目标或源上没有触发器。排序规则在所有地方都是相同的(Danish_Norwegian_CI_AS)。该实例是 SQL Server 2008 R2 标准版。
我现在完全陷入困境,我非常希望有人能提供一些帮助。
感谢您阅读:-)
这是失败的值:0x0571F5F713CF220BB0DB057BBCE7E158CA6F89C0
在目标中,以下值最接近失败的值。没有任何价值等于失败。
0x0571F5F1238704E1A9D612F0A1648766B769E2AE 0x0571F5F713CF220BB0DB057BBCE7E158CA6F89C0 -- 失败的值 0x0571F608CBE12A007F3DC3736D2F03D90ECCF3F7
编辑:数据库中存在导致意外行为的损坏问题。