Ich habe SSIS-Pakete erstellt, um Daten von AS400 zu SQL Server zu verschieben, die täglich geplant sind. Einige der Pakete im SQL-Agenten dauern länger als 9 Stunden, um abgeschlossen zu werden. Wenn ich dasselbe Paket in Business Intelligence Studio manuell ausführe, wird es in weniger als 4 Stunden abgeschlossen, da dieses Problem meine geplanten Pakete nicht rechtzeitig konkurrieren. Ich bin nicht in der Lage zu verstehen, warum es einen Unterschied in der Dauer der Aufgabenerfüllung zwischen manueller Interaktion und Zeitplanaufträgen gibt. Meine Umgebung ist Windows Server 2003 mit Sql Server 2005 mit SP3. Bitte helfen Sie mir, dieses Problem zu beheben.
Antworten
Zu viele Anzeigen?Der beste Weg, dieses Problem zu umgehen, ist die Überwachung des geplanten Tasks mit Hilfe einiger Debug-Anweisungen und Meldungen. Geben Sie zum Beispiel einige Einfügeanweisungen in den gespeicherten Prozeduren ein, die das SSIS-Paket aufruft. Auf diese Weise können Sie herausfinden, welches Steuerelement mehr Zeit als erwartet in Anspruch nimmt. Versuchen Sie zunächst, das Steuerelement zu isolieren, das den Unterschied ausmacht.
Sie können das Paket auch von der Eingabeaufforderung aus aufrufen, indem Sie:-
dtexec /f filename.dtsx
Dadurch werden auch alle Meldungen bei jedem Schritt in der Konsole ausgegeben.
Verwenden Sie die SSIS-Protokollierung im Paket, um in einer Datenbanktabelle zu protokollieren. Stellen Sie die Protokollierung so ein, dass Start und Ende der Aufgaben aufgezeichnet werden. Wenn Sie das Paket in BIDS ausführen und es mit der Protokollierung auf dem Server vergleichen, sehen Sie, welche Aufgaben zu lange dauern. Siehe http://msdn.microsoft.com/en-us/library/ms138020.aspx für weitere Informationen zur SSIS-Protokollierung (in Sql 2008)