Ich habe eine Tabelle mit 10 Millionen Datensätze mit einem Nonclustered-Index-Schlüssel in einer Spalte und ich versuche, die Tabelle zu deduplizieren. Ich habe die Inserts mit select ausprobiert, wo entweder ein linker Join verwendet wurde oder wo nicht; aber jedes Mal bekomme ich den Fehler mit Verletzung des Schlüssels. Hier sind die Abfragen, die ich verwendet habe;Verletzung des Primärschlüssels - Deduplizierung Tabelle
insert into temp(profile,feed,photo,dateadded)
select distinct profile,feed,photo,dateadded from original as s
where not exists(select 1 from temp as t where t.profile=s.profile)
Dies erzeugt nur die Verletzung des Schlüsselfehlers. Ich habe versucht, mit dem folgenden:
insert into temp(profile,feed,photo,dateadded)
select distinct profile,feed,photo,dateadded from original as s
left outer join temp t on t.profile=s.profile
where t.profile is null
ich eine Batch-Insert ended verwenden, da die Protokolldatei zu groß wuchs aber immer noch die Verletzung von Primärschlüssel Fehler erhalten sogar auf nur 1000 Datensätze.
Destination Table :IX_Temp - profileUrl(ASC)--> unique key (non clustered)
Source Table: IX_PURL - profileUrl(ASC) ---> index (non clustered, not unique
Migrate http://dba.stackexchange.com/? –