無論你或你的服務器顯然是錯誤的。如果你是對的,並且不會插入重複的內容,這將違反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