2 Stimmen

Geplante Aufträge in Sql Agent

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.

1voto

A_Var Punkte 1046

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.

1voto

stombeur Punkte 2682

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)

0voto

Cilvic Punkte 3337

Könnte es sein, dass der SQL-Server weniger leistungsfähig ist als Ihr Client oder mehr Last hat, wenn Sie das Paket ausführen?

Business Intelligence Studio wird das Paket auf Ihrem lokalen Client mit seiner CPU und seinem RAM ausgeführt (glaube ich).

0voto

Faiz Punkte 5161

Prüfen Sie, welche Version von DTSEXEC Sie verwenden. Möglicherweise verwenden Sie an einer Stelle eine 32-Bit-Version und an der anderen eine 64-Bit-Version.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X