Либо вы, либо ваш сервер явно ошибаетесь. Если вы правы, и не может быть попыток вставить дубликаты, которые нарушали бы 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
.