无论你或你的服务器显然是错误的。如果你是对的,并且不会插入重复的内容,这将违反IDX_Primary
,那么这显然是你的服务器的错。
否则,你可能只是忽略了这样一个事实,那就是重复的东西真的存在。它们都在源表中,或者目标表未被正确截断。
没关系,你不愿意分享机密代码,但是除了你所透露的信息之外,我们没有什么信息。
无论如何,我正在备份你已经被告知的内容:冒犯指数是IDX_Primary
,而不是PK_ExtpndPart1
。所以你会怎么做?首先,找到创建IDX_Primary
的脚本并注意索引表达式/表达式。完成该操作后,只需在源表的简单查询中使用表达式,以确定是否确实没有重复项。
我想你可以很容易想出一些这样的脚本,但仅仅因为我没有看到我可以帮助你解决缺乏细节的问题,所以我决定与你分享这个小模板:
SELECT
..., /* column(s) or expression(s) as used in IDX_Primary
(actually, their counterparts in the source table) */
COUNT(*)
FROM ... /* your source table */
GROUP BY ... /* the same IDX_Primary column(s) or expression(s) */
HAVING COUNT(*) > 1
正如你所看到的,结果会是非常重复,肯定会使IDX_Primary
不高兴。
你想插入重复吗?或者在尝试插入之前是否希望删除重复项? – Randy 2011-01-25 20:29:17
插入重复也 – 2011-01-25 20:31:18
如果插入重复项,为什么有独特的索引? – 2011-01-25 20:34:13