2016-04-12 11 views
0

einfügen Ich arbeite mit einem Team, um ein SSIS-Paketfehler zu beheben. Das Paket enthält vier Sequenzcontainer und jeder Container enthält einige SQL-Tasks, die eine Zieltabelle abschneiden und Daten von einer Quelle in ein Ziel einfügen. Manchmal schlägt das Paket mit einem Fehler fehl: Verletzung der Primärschlüsseleinschränkung. kann keinen doppelten Schlüssel in Objekt einfügen, obwohl keine Verletzung vorliegt, da die Tabelle leer ist, wenn wir den Ladevorgang starten. Bitte geben Sie Vorschläge zur Problembehandlung anSSIS-Fehler: Verletzung der Primärschlüsseleinschränkung. kann keinen doppelten Schlüssel in Objekt

Hinweis: Quelle und Ziel unterscheiden sich in der Struktur. Quellentabellen enthielten PK nur für eine int-Spalte. Die Zieltabelle enthält einen zusätzlichen PK, der ein Standardwert ist. Ich verstehe nicht, warum wir einen Wert für eine Standardspalte benötigen.

+1

Ohne Ihre Tabellendefinitionen aus beiden Tabellen zu betrachten oder das Paket sehen zu können wirklich schwer, dir irgendeine Hilfe zu geben. Das Problem ist jedoch so, wie es heißt. Es wurde eine doppelte Zeile gefunden, und der SQL Server hat einen Fehler ausgegeben. Sie können die Fehlerzeile entweder in eine Datei umleiten oder das Ausführungsprotokoll überprüfen, um den fehlerhaften Wert zu ermitteln. – Zane

+0

@Zane Aktualisiert die Frage mit den angeforderten Details – Ramya

+1

Ich höre, wie Sie Ihre Datenstruktur besser verstehen müssen. Wenn Sie sich den Paketfehler ansehen, sollte er Ihnen genau zeigen, welcher Wert das Problem verursacht. – Zane

Antwort

0

Es klingt wie, obwohl die Zieltabelle leer ist, wenn Sie das SSIS-Paket ausführen, enthalten die Zeilen, die Sie selbst einfügen, doppelte Daten. (Wenn Ihr PK beispielsweise [ID] heißt, versuchen Sie, mehrere [ID] in die Tabelle einzufügen)

+0

Aber wie kommt es, dass meine Quelle mit Primärschlüssel Duplikate haben? – Ramya

+1

Ich bin mir sicher, dass es nicht. Sie müssen Schritt durch das Paket, das Sie beheben, um zu sehen, was passiert Data Viewer kann dafür nützlich sein, aber wenn Sie eine primäre Schlüsselverletzung bekommen und keine Daten drin sind, versuchen Sie definitiv, Duplikate mit dem Paket einzufügen. –

+0

In dem Paket wird nur Daten von Tabelle zu Tabelle direkt geladen mit Tabelle oder View Fast Load im SSIS-Datenzugriffsmodus, keine Abfragen. – Ramya