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 Zeitplan2 = Als Reaktion auf eine Warnung ausführen3 = Beim Start ausführen4 = Vom Benutzer ausgeführt6 = 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 fehlgeschlagen1 = Erfolgreich3 = Abgebrochen5 = 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