Freigeben über


sp_help_jobactivity (Transact-SQL)

Gilt für: SQL Server

Listet Informationen zum Laufzeitstatus von SQL Server-Agent Aufträgen auf.

Transact-SQL-Syntaxkonventionen

Syntax

sp_help_jobactivity
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @session_id = ] session_id ]
[ ; ]

Argumente

[ @job_id = ] 'job_id'

Die Auftrags-ID @job_id ist eindeutiger Bezeichner mit einem Standardwert von NULL.

Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.

[ @job_name = ] N'job_name'

Der Name des Auftrags. @job_name ist "sysname" mit der Standardeinstellung "NULL.

Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.

[ @session_id = ] session_id

Die Sitzungs-ID, über die Informationen berichtet werden sollen. @session_id ist int mit einem Standardwert von NULL.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Gibt das folgende Resultset zurück:

Spaltenname Datentyp BESCHREIBUNG
session_id int Agent-Sitzungs-ID.
job_id uniqueidentifier ID für den Auftrag.
job_name sysname Der Name des Auftrags.
run_requested_date datetime Datum, zu dem die Ausführung des Auftrags angefordert wurde.
run_requested_source sysname Die Quelle der Anforderung zum Ausführen des Auftrags. Eine der folgenden Optionen:

1 = Ausführen in einem Zeitplan
2 = Als Reaktion auf eine Warnung ausführen
3 = Beim Start ausführen
4 = Vom Benutzer ausgeführt
6 = Cpu-Leerlaufzeitplan ausführen
queued_date datetime Gibt an, wann die Anforderung in die Warteschlange gestellt wurde. NULL wenn der Auftrag direkt ausgeführt wurde.
start_execution_date datetime Datum, an dem der Auftrag einem ausführbaren Thread zugewiesen wurde.
last_executed_step_id int Die Schritt-ID des zuletzt ausgeführten Auftragsschritts.
last_exectued_step_date datetime Uhrzeit, zu der die Ausführung des zuletzt ausgeführten Auftragsschritts begonnen hat.
stop_execution_date datetime Uhrzeit, zu der die Ausführung des Auftrags beendet wurde.
next_scheduled_run_date datetime Datum, an dem die nächste Ausführung des Auftrags geplant ist.
job_history_id int ID für den Auftragsverlauf in der Auftragsverlaufstabelle.
message nvarchar(1024) Meldung, die während der letzten Ausführung des Auftrags ausgegeben wurde.
run_status int Status, der während der letzten Ausführung des Auftrags zurückgegeben wurde:

0 = Fehler fehlgeschlagen
1 = Erfolgreich
3 = Abgebrochen
5 = Status unbekannt
operator_id_emailed int ID des Operators, der durch eine E-Mail-Nachricht bei Beendigung des Auftrags benachrichtigt wurde.
operator_id_netsent int ID-Nummer des über Net Send benachrichtigten Betreibers zum Abschluss des Auftrags.
operator_id_paged int ID des Operators, der durch einen Pager bei Beendigung des Auftrags benachrichtigt wurde.

Hinweise

Diese Prozedur stellt eine Momentaufnahme des aktuellen Status des Auftrags bereit. Die zurückgegebenen Ergebnisse stellen Informationen zu dem Zeitpunkt der Anforderungsverarbeitung dar.

SQL Server-Agent erstellt bei jedem Start des Agent-Diensts eine Sitzungs-ID. Die Sitzungs-ID wird in der Tabelle msdb.dbo.syssessions**gespeichert.

Wenn keine @session_id bereitgestellt wird, werden Informationen zur letzten Sitzung aufgelistet.

Wenn keine @job_name oder @job_id bereitgestellt werden, werden Informationen für alle Aufträge aufgelistet.

Berechtigungen

Sie können Berechtigungen für dieses Verfahren erteilen EXECUTE , aber diese Berechtigungen können während eines SQL Server-Upgrades außer Kraft gesetzt werden.

Anderen Benutzern muss eine der folgenden SQL Server-Agent festen Datenbankrollen in der msdb Datenbank gewährt werden:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.

Nur Mitglieder von sysadmin können die Aktivität für Aufträge anzeigen, die anderen Benutzern gehören.

Beispiele

Im folgenden Beispiel ist die Aktivität für alle Aufträge aufgeführt, zu deren Anzeige der Benutzer berechtigt ist.

USE msdb;
GO

EXEC dbo.sp_help_jobactivity;
GO