Die SSIS-Datenflusstask hängt von der Ausführung der Pre-execute-Phase ab

Habe ich einen Data Flow Task, der hängt auf Ausführung.
Der flow ist einfach, macht zwei Abfragen auf verschiedene Tabellen (mit ein paar joins), anschließend sortiert und führt die otuputs durch eine gemeinsame id, fügt eine statische Spalte, um alle Datensätze, speichert der Zeilenanzahl in einer user-Variablen für die spätere Verwendung und schließlich fügt in einer Tabelle auf eine andere DB.
Wir sind mit OLE-DB-Quellen-und Ziel. Quelle MSSQL 2000 und das Ziel einer MSSQL 2012

Symptome:

  • Wenn excecuting, die Daten Fließen, bekommt die üblichen gelben "ausführen" - Symbol. Allerdings, wenn Sie auf doppelklicken, um die Daten Fließen, nicht von den Elementen haben, die alle gelb, rot oder grün zu markieren.
  • Dies geht für längere Zeit, bei der ersten dauerte es rund 20 Minuten, danach fing es immer mehr oder einfach nicht wieder auf alle.
  • Ausgabe zeigt:
    Information: 0x40043006 beim Laden Sandbox-Tabelle, SSIS.Pipeline: in Vorbereitung für die Execute-phase beginnt.
    Informationen: 0x40043007 beim Laden Sandbox-Tabelle, SSIS.Pipeline: Pre-Execute-phase ist Anfang.

    Und nichts mehr, bis die Ausführung beendet ist.
  • Ja, das hat vorher funktioniert. Und ja, wir haben nur eine einzige Abfrage (gespeicherte Prozedur), um dies zu tun ETL-aber wir wollten migrieren die Schritte, die zur SSIS.

Fehler-Lösungen:

  • Es gibt keine Anfragen.
  • Standard-Puffergröße für die task-flow wurde erhöht 40485760 dann 80971520.
  • Standard-Puffer max Zeilen für die Aufgabe wurde auf 1000000.
  • Verzögerung Validierung wurde auf True festgelegt, für die Aufgabe.
  • Alle Elemente in der Aufgabe festgelegt wurden, Überprüfen Externe Daten auf False.
  • Beide Anfragen hatten:
    SET FMTONLY OFF;
    SET NOCOUNT ON;

    Hinzugefügt am Anfang.
  • Beide Abfragen hatte MAXDOP auf 1 gesetzt.
  • Einstellung Projekt Laufen 64-bit-Laufzeit auf False.
  • Geändert destination load von Platz für eine Tabelle oder Sicht , Platz für eine Tabelle oder Sicht - Schnelles laden mit keine sperren oder Einschränkungen.
  • Festlegen der Zeilen pro batch bis 1000 für schnelles laden.
  • Einige arbeiten umgehungslösungen vorschlagen, trennen Sie die Aufgabe, die Strömung in zwei oder mehr task flows. Aber dies ist nicht möglich, da das, was wir tun müssen, ist ein Zusammenführen der Informationen auf dem Quell-Abfragen.

Extra-bits:
Ich hoffe wirklich, dass mir jemand helfen kann. Ich bin ziemlich neu in SSIS, dies ist das erste mal ich es verwenden. Normalerweise arbeite ich mit Pentaho für meine ETL, aber der Kunde braucht die Lösung implementiert werden, die auf SSIS. Ich habe gekämpft, mit diesem Problem für ein paar Tage jetzt, und ich fange an, die Ideen ausgehen, um es zu lösen.


Wenn lief über die Befehlszeile es klemmt auch und ich bekomme die folgende Ausgabe:

Progress: 2013-03-19 14:36:26.21
   Source: Load Sandbox Table
   Validating: 0% complete
End Progress
Progress: 2013-03-19 14:36:26.21
   Source: Load Sandbox Table
   Validating: 12% complete
End Progress
Progress: 2013-03-19 14:36:26.22
   Source: Load Sandbox Table
   Validating: 25% complete
End Progress
Progress: 2013-03-19 14:36:26.22
   Source: Load Sandbox Table
   Validating: 37% complete
End Progress
Progress: 2013-03-19 14:36:26.23
   Source: Load Sandbox Table
   Validating: 50% complete
End Progress
Progress: 2013-03-19 14:36:26.25
   Source: Load Sandbox Table
   Validating: 62% complete
End Progress
Progress: 2013-03-19 14:36:26.25
   Source: Load Sandbox Table
   Validating: 75% complete
End Progress
Progress: 2013-03-19 14:36:26.25
   Source: Load Sandbox Table
   Validating: 87% complete
End Progress
Progress: 2013-03-19 14:36:26.25
   Source: Load Sandbox Table
   Validating: 100% complete
End Progress
Warning: 2013-03-19 14:36:26.26
   Code: 0x80047076
   Source: Load Sandbox Table SSIS.Pipeline
   Description: The output column "ITEM_OID (1)" (47) on output "Merge Join Outp
ut" (28) and component "Merge Join" (11) is not subsequently used in the Data Fl
ow task. Removing this unused output column can increase Data Flow task performa
nce.
End Warning
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 0% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 12% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 25% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 37% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 50% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 62% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 75% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 87% complete
End Progress
Progress: 2013-03-19 14:36:26.27
   Source: Load Sandbox Table
   Prepare for Execute: 100% complete
End Progress
Progress: 2013-03-19 14:36:26.31
   Source: Load Sandbox Table
   Pre-Execute: 0% complete
End Progress
Progress: 2013-03-19 14:36:26.31
   Source: Load Sandbox Table
   Pre-Execute: 12% complete
End Progress
Progress: 2013-03-19 14:36:26.31
   Source: Load Sandbox Table
   Pre-Execute: 25% complete
End Progress
Progress: 2013-03-19 14:36:26.34
   Source: Load Sandbox Table
   Pre-Execute: 37% complete
End Progress
Progress: 2013-03-19 14:36:45.69
   Source: Load Sandbox Table
   Pre-Execute: 50% complete
End Progress

Danach friert es wieder.

LÖSUNG (dieses Posting hier, denn ich kann keine Antwort auf meine eigene Frage noch 5 Stunden, ich werde es tun, wenn ich das darf.)
Ich habe es endlich.
Es stellt sich heraus, es ist ein Problem mit der Validierung, aber nicht nur SSIS-Elemente gehen durch, dass die überprüfung, wie es in der vierten fehlgeschlagen Lösung der Frage.
Die VERBINDUNGEN werden ebenfalls erhalten, validiert und haben Ihre eigenen Delay-Validation-Eigenschaft muss auf true festgelegt werden.
Nach der Ausführung Zeit ging von 40+ Minuten oder keine ausgeführt wird, um weniger als eine minute für den gesamten Prozess (Dies ist nur ein Schritt eines viel größeren Prozesses)
Ich hoffe, dass die Leute mit diesem problem finden diese Lösung einfach, denn es gibt eine Menge Leute, die laufen in dieses problem und fast keine Lösungen online veröffentlicht werden.

In einer nussschale: Überprüfen Sie, ob alle Elemente an der Aufgabe beteiligt, einschließlich die DB-verbindungen Verzögerung Überprüfung-Eigenschaft auf True festgelegt.

InformationsquelleAutor der Frage Ryoku | 2013-03-19

Schreibe einen Kommentar