Gibt es eine Möglichkeit zu unterbrechen oder warten Sie für ein paar Momente von einem Skript?

Ich würde davon ausgehen, dass das, was ich Fragen würde, fallen normalerweise in den Bereich der "schlechte Praxis", aber ich möchte Fragen unabhängig, da diese Funktionalität ist nützlich für die Diagnose von Problemen und bench marking lange ausführen von Skripts.

Kurz gesagt, gibt es eine Funktion, die in SQL Server, die ich nennen könnte, die erlauben würde, mich auf 'pause' für eine kurze Zeit?

Habe ich eine nightly von SSIS-Prozess, der nach dem Export der Daten erzeugt verschiedene Teilmengen von statistischen Daten. Immer wenn ich Probleme mit der Ausführungszeit des SSIS-Pakets, ich habe eine Reihe von Diagnose-gespeicherte Prozeduren, die ich anrufen kann, die helfen, zu bestimmen, in das der export/bulk insert ist unter außergewöhnlich lange ausführen.

Während der zweiten Hälfte meiner SSIS-Prozess, bei dem ich die statistischen Daten sind, wäre es wirklich vorteilhaft, wenn ich analysieren könnte, wo der Prozess möglicherweise bogging oder zu analysieren, wie schnell es sich ändern kann, die Daten in meinen Tabellen. Die meisten statischen Verfahren beginnen, durch einfügen von Daten in eine Tabelle ist durch radelte über WHILE-Schleifen und werden aktualisiert, sobald die notwendigen Bedingungen erfüllt sind.

Kann ich einfach Abfragen meiner Daten zu erfassen, eine bestimmte Metrik, während meine statistischen gespeicherte Prozeduren ausgeführt werden. Was ich tun möchte, ist zu packen, die Metrik, warten, genau 1 Sekunde (oder einige bestimmte Zeit) und schnappen Sie sich die Metrik wieder, so dass ich vergleichen kann.

Durch die Möglichkeit zur Umsetzung einer 'pause', ich kann Sie robuster Diagnose-Skripts, die sich setzen, wie viele Einfügungen, Aktualisierungen oder Berechnungen beginnen, ausgeführt pro Sekunde und kann so abschätzen, welche Teile von meinem grösseren Verfahren sind unter den längsten.

Ich würde davon ausgehen, dass es einige Diagnose-tools, die ich verwenden könnte, die in SQL Server Management Studio. Ich gebe zu, ich habe nicht gebastelt, mit irgendeinem davon. Allerdings, in der Regel, wenn es ein tool innerhalb von SSMS viel von der back-end-Funktionalität kann nachgestellt werden, indem irgendeine form von Lust-scripting. Eine weitere mögliche Einschränkung der Nutzung von built-in diagnostics, ist, dass ich lieber laufen diese Metriken während der SSIS-Paket ausgeführt wird, nicht nur, während ich die Prüfung der gespeicherten Prozeduren ausführen, die innerhalb des Pakets.

Danke Jungs für irgendwelche Lösungen oder Tipps! Diese Anforderung ist nicht 100% notwendig, aber meine nächtlichen SSIS Pakete werden immer massiver und ich habe zu Beginn die Feinabstimmung der "squeeky wheels", dass ich in der Lage gewesen, Sie zu ignorieren in der Vergangenheit.

  • Was zur Implementierung einer logging-Tabelle Ansatz, wo Ihre langen Verfahren ausführen, legen Sie die Zeitstempel und Status-Informationen in einer separaten Tabelle während der Ausführung? Eine gut strukturierte trace auf diese Weise wird Ihnen die Möglichkeit geben zu bestimmen, die Metriken Ihre interessiert, wäre es nicht?
InformationsquelleAutor RLH | 2011-07-01
Schreibe einen Kommentar