Wie überprüft man, ob eine gespeicherte Prozedur oder Abfrage in SQL Server noch läuft?
Ideen
Ich habe daran gedacht, ein Protokoll zu erstellen, in das geschrieben werden kann, wenn der Vorgang beginnt, und zu löschen, wenn es endet.
Fehler:
Verwenden Sie den Prozessmonitor
Ich würde eine Lösung vorziehen, die als gespeicherte Prozedur mit procedure_name
und / oder pid
, parameters
als Eingabe eingebunden werden kann, so dass Programme oder Lösungen, die die SQL Server-Schnittstelle verwenden, nicht funktionieren.
Anwendungsbeispiel:
%Vor%Die Prozedur sollte wie
aufgerufen werden %Vor%und geben wahr während des Betriebs (für 20 Sekunden) und false nach oder wenn die Funktion fehlschlägt oder das System neu gestartet wird
zurückIch habe versucht, herauszufinden, wie man die Liste der laufenden Prozeduren bekommt, und bin auf diesen Thread gestoßen. Nach ein wenig Forschung auf MSDN konnte ich die folgende Abfrage herausfinden, die das liefern wird Liste der laufenden Prozesse:
%Vor%Ein bisschen mehr Arbeit wird benötigt, um die Parameter zu erhalten.
Tags und Links sql sql-server stored-procedures