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