sp_help_job (Transact-SQL)

Gilt für:SQL Server

Gibt Informationen zu Aufträgen zurück, die von SQL Server-Agent zum Ausführen automatisierter Aktivitäten in SQL Server verwendet werden.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_help_job { [ @job_id = ] job_id  
[ @job_name = ] 'job_name' }   
     [ , [ @job_aspect = ] 'job_aspect' ]   
     [ , [ @job_type = ] 'job_type' ]   
     [ , [ @owner_login_name = ] 'login_name' ]   
     [ , [ @subsystem = ] 'subsystem' ]   
     [ , [ @category_name = ] 'category' ]   
     [ , [ @enabled = ] enabled ]   
     [ , [ @execution_status = ] status ]   
     [ , [ @date_comparator = ] 'date_comparison' ]   
     [ , [ @date_created = ] date_created ]   
     [ , [ @date_last_modified = ] date_modified ]   
     [ , [ @description = ] 'description_pattern' ]  

Argumente

[ @job_id = ] job_id Die Auftragsidentifikationsnummer. job_id ist uniqueidentifier mit dem Standardwert NULL.

[ @job_name = ] 'job_name' Der Name des Auftrags. job_name ist sysname mit dem Standardwert NULL.

Hinweis

Um einen bestimmten Auftrag anzuzeigen, muss entweder job_id oder job_name angegeben werden. Lassen Sie job_id und job_name weg, um Informationen zu allen Aufträgen zurückzugeben.

[ @job_aspect = ] 'job_aspect' Das anzuzeigende Auftragsattribute. job_aspect ist varchar(9) mit dem Standardwert NULL und kann einer dieser Werte sein.

Wert BESCHREIBUNG
ALL Auftragsaspektinformationen
JOB Auftragsinformationen
ZEITPLÄNE Zeitplaninformationen
SCHRITTE Auftragsschrittinformationen
ZIELE Zielinformationen

[ @job_type = ] 'job_type' Der Typ der Aufträge, die in den Bericht aufgenommen werden sollen. job_type ist varchar(12) mit dem Standardwert NULL. job_type kann LOKAL oder MULTI-SERVER sein.

[ @owner_login_name = ] 'login_name' Der Anmeldename des Besitzers des Auftrags. login_name ist sysname mit dem Standardwert NULL.

[ @subsystem = ] 'subsystem' Der Name des Subsystems. Subsystem ist nvarchar(40) mit dem Standardwert NULL.

[ @category_name = ] 'category' Der Name der Kategorie. category ist sysname, wobei der Standardwert NULL ist.

[ @enabled = ] enabled Eine Zahl, die angibt, ob Informationen für aktivierte oder deaktivierte Aufträge angezeigt werden. enabled ist tinyint, wobei der Standardwert NULL ist. 1 gibt aktivierte Aufträge an, und 0 für deaktivierte Aufträge.

[ @execution_status = ] status Der Ausführungsstatus für die Aufträge. status ist int, mit dem Standardwert NULL, und kann einer dieser Werte sein.

Wert BESCHREIBUNG
0 Nur die Aufträge werden zurückgegeben, die sich nicht im Leerlauf befinden oder unterbrochen sind.
1 Ausführen.
2 Wartet auf Thread
3 Zwischen Wiederholungen
4 Im Leerlauf.
5 Unterbrochen
7 Abschlussaktionen werden ausgeführt

[ @date_comparator = ] 'date_comparison' Der Vergleichsoperator, der im Vergleich von date_created und date_modified verwendet werden soll. date_comparison ist char(1) und kann =, <oder sein >.

[ @date_created = ] date_created Das Datum, an dem der Auftrag erstellt wurde. date_createdist datetime, wobei der Standardwert NULL ist.

[ @date_last_modified = ] date_modified Das Datum, an dem der Auftrag zuletzt geändert wurde. date_modified ist datetime, wobei der Standardwert NULL ist.

[ @description = ] 'description_pattern' Die Beschreibung des Auftrags. description_pattern ist nvarchar(512) mit dem Standardwert NULL. description_pattern können die SQL Server-Feldzeichen für den Musterabgleich enthalten.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Wenn keine Argumente angegeben werden, gibt sp_help_job dieses Resultset zurück.

Spaltenname Datentyp BESCHREIBUNG
job_id uniqueidentifier Eindeutige ID des Auftrags.
originating_server nvarchar(30) Name des Servers, von dem der Auftrag stammt
name sysname Der Name des Auftrags.
enabled tinyint Zeigt an, ob der Auftrag für die Ausführung aktiviert ist.
description nvarchar(512) Die Beschreibung des Auftrags.
start_step_id int ID des Schrittes in dem Auftrag, bei dem die Ausführung beginnen soll.
category sysname Auftragskategorie
owner sysname Auftragsbesitzer
notify_level_eventlog int Bitmaske , die angibt, unter welchen Umständen ein Benachrichtigungsereignis im Microsoft Windows-Anwendungsprotokoll protokolliert werden soll. Einer der folgenden Werte ist möglich:

0 = Nie

1 = Wenn ein Auftrag erfolgreich ist

2 = Bei Fehlschlagen des Auftrags

3 = Immer, wenn der Auftrag abgeschlossen ist (unabhängig vom Ergebnis des Auftrags)
notify_level_email int Bitmaske , die angibt, unter welchen Umständen eine Benachrichtigungs-E-Mail gesendet werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit denen für notify_level_eventlog.
notify_level_netsend int Bitmaske , die angibt, unter welchen Umständen eine Netzwerknachricht gesendet werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit denen für notify_level_eventlog.
notify_level_page int Bitmaske , die angibt, unter welchen Umständen eine Seite gesendet werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit denen für notify_level_eventlog.
notify_email_operator sysname E-Mail-Name des Operators, der benachrichtigt werden soll.
notify_netsend_operator sysname Name des Computers oder Benutzers, der beim Senden von Netzwerkmeldungen verwendet wird
notify_page_operator sysname Name des Computers oder Benutzers, der beim Senden einer Pagerbenachrichtigung verwendet wird
delete_level int Bitmaske , die angibt, unter welchen Umständen der Auftrag gelöscht werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit denen für notify_level_eventlog.
date_created datetime Datum, an dem der Auftrag erstellt wurde.
date_modified datetime Datum, an dem der Auftrag zuletzt geändert wurde.
version_number int Version des Auftrags (wird automatisch jedes Mal aktualisiert, wenn der Auftrag geändert wird)
last_run_date int Datum, an dem die Ausführung des Auftrags zuletzt gestartet wurde
last_run_time int Uhrzeit, zu der die Ausführung des Auftrags zuletzt gestartet wurde
last_run_outcome int Ergebnis des Auftrags bei der letzten Ausführung:

0 = Fehler

1 = Erfolgreich

3 = Abgebrochen

5 = Unbekannt
next_run_date int Datum, für das die nächste Ausführung des Auftrags geplant ist
next_run_time int Uhrzeit, zu der die nächste Ausführung des Auftrags geplant ist
next_run_schedule_id int Zeitplan-ID für nächste Ausführung
current_execution_status int Aktueller Ausführungsstatus:

1 = Ausführen

2 = Warten auf Thread

3 = Zwischen Wiederholungen

4 = Leerlauf

5 = Angehalten

6 = Veraltet

7 = PerformingCompletionActions
current_execution_step sysname Aktueller Ausführungsschritt des Auftrags
current_retry_attempt int Wenn der Auftrag ausgeführt wird und der Schritt wiederholt wurde, ist dies der aktuelle Wiederholungsversuch
has_step int Anzahl der Auftragsschritte des Auftrags
has_schedule int Anzahl der Auftragszeitpläne des Auftrags
has_target int Die Anzahl der Zielserver des Auftrags.
type int Auftragstyp:

1 = Lokaler Auftrag

2 = Multiserverauftrag.

0 = Auftrag verfügt über keine Zielserver.

Wenn job_id oder job_name angegeben ist, gibt sp_help_job diese zusätzlichen Resultsets für Auftragsschritte, Auftragszeitpläne und Auftragszielserver zurück.

Im Folgenden wird das Resultset für Auftragsschritte aufgeführt.

Spaltenname Datentyp BESCHREIBUNG
step_id int Eindeutiger Bezeichner (für diesen Auftrag) für den Schritt
step_name sysname Name des Schritts
Subsystem nvarchar(40) Subsystem, in dem der Schrittbefehl ausgeführt werden soll
command nvarchar(3200) Auszuführender Befehl
flags nvarchar(4000) Bitmaske von Werten, die das Schrittverhalten steuern.
cmdexec_success_code int Bei einem CmdExec-Schritt ist dies der Prozessausgangscode eines erfolgreichen Befehls.
on_success_action nvarchar(4000) Mögliche Aktionen, wenn der Schritt erfolgreich durchgeführt wird:

1 = Mit Erfolg beenden.

2 = Beenden mit Fehler.

3 = Wechseln Sie zum nächsten Schritt.

4 = Gehe zu Schritt.
on_success_step_id int Wenn on_success_action4 ist, gibt dies den nächsten Auszuführenden Schritt an.
on_fail_action nvarchar(4000) Auszuführende Aktion, wenn der Schritt einen Fehler erzeugt. Die Werte sind mit denen für on_success_action identisch.
on_fail_step_id int Wenn on_fail_action4 ist, gibt dies den nächsten Auszuführenden Schritt an.
server sysname Reserviert.
database_name sysname Bei einem Transact-SQL-Schritt ist dies die Datenbank, in der der Befehl ausgeführt wird.
database_user_name sysname Bei einem Transact-SQL-Schritt ist dies der Datenbankbenutzerkontext, in dem der Befehl ausgeführt wird.
retry_attempts int Die maximale Anzahl von Wiederholungsversuchen für den Befehl (falls er nicht erfolgreich ist), bevor der Schritt als fehlgeschlagen angesehen wird
retry_interval int Das Intervall (in Minuten) zwischen den Wiederholungsversuchen
os_run_priority varchar(4000) Reserviert.
output_file_name varchar(200) Datei, in die die Befehlsausgabe geschrieben werden soll (nur Transact-SQL- und CmdExec-Schritte ).
last_run_outcome int Ergebnis der letzten Ausführung des Schritts:

0 = Fehler

1 = Erfolgreich

3 = Abgebrochen

5 = Unbekannt
last_run_duration int Die Ausführungsdauer (in Sekunden) des Schritts bei der letzten Ausführung.
last_run_retries int Anzahl der Wiederholungsversuche für den Befehl bei der letzten Ausführung des Schritts
last_run_date int Datum, an dem die Ausführung des Schritts zuletzt gestartet wurde
last_run_time int Uhrzeit, zu der die Ausführung des Schritts zuletzt gestartet wurde
proxy_id int Proxy für den Auftragsschritt.

Im Folgenden wird das Resultset für Auftragszeitpläne aufgeführt.

Spaltenname Datentyp BESCHREIBUNG
schedule_id int Bezeichner des Zeitplans (eindeutig für alle Aufträge)
schedule_name sysname Name des Zeitplans (eindeutig nur für diesen Auftrag)
enabled int Gibt an, ob der Zeitplan aktiv (1) oder nicht (0) ist.
freq_type int Zeigt an, wann der Auftrag ausgeführt werden soll:

1 = Einmal

4 = Täglich

8 = Wöchentlich

16 = Monatlich

32 = Monatlich, relativ zum freq_interval

64 = Ausführen, wenn der SQLServerAgent-Dienst gestartet wird.
freq_interval int Tage, an dem der Auftrag ausgeführt wird. Der Wert hängt vom Wert von freq_type ab. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL)
freq_subday_type Int Einheiten für freq_subday_interval. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL)
freq_subday_interval int Anzahl der freq_subday_type Zeiträume, die zwischen jeder Ausführung des Auftrags auftreten. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL)
freq_relative_interval int Das Auftreten des freq_interval des geplanten Auftrags in jedem Monat. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL)
freq_recurrence_factor int Anzahl der Monate zwischen der geplanten Ausführung des Auftrags
active_start_date int Datum, an dem die Ausführung des Auftrags beginnen soll
active_end_date int Datum, an dem die Ausführung des Auftrags beendet werden soll
active_start_time int Zeit, um mit der Ausführung des Auftrags auf active_start_date zu beginnen.
active_end_time int Zeit zum Beenden der Ausführung des Auftrags auf active_end_date.
date_created datetime Datum, an dem der Zeitplan erstellt wird
schedule_description nvarchar(4000) Eine Beschreibung des Zeitplans in englischer Sprache (falls angefordert).
next_run_date int Datum, an dem der Zeitplan die nächste Ausführung des Auftrags bewirken wird
next_run_time int Uhrzeit, zu der der Zeitplan die nächste Ausführung des Auftrags bewirken wird
schedule_uid uniqueidentifier Bezeichner für den Zeitplan.
job_count int Gibt die Anzahl Aufträge zurück, die auf diesen Zeitplan verweisen

Im Folgenden wird das Resultset für Auftragszielserver aufgeführt.

Spaltenname Datentyp BESCHREIBUNG
Server_id int Bezeichner des Zielservers
server_name nvarchar(30) Computername des Zielservers
enlist_date datetime Datum, an dem der Zielserver auf dem Masterserver eingetragen wurde
last_poll_date datetime Datum, an dem der Zielserver den Masterserver zuletzt abgerufen hat
last_run_date int Datum, an dem die Ausführung des Auftrags auf diesem Zielserver zuletzt gestartet wurde
last_run_time int Uhrzeit, zu der die Ausführung des Auftrags auf diesem Zielserver zuletzt gestartet wurde
last_run_duration int Dauer des Auftrags bei der letzten Ausführung auf diesem Zielserver
last_run_outcome tinyint Ergebnis des Auftrags bei der letzten Ausführung auf diesem Server:

0 = Fehler

1 = Erfolgreich

3 = Abgebrochen

5 = Unbekannt
last_outcome_message nvarchar(1024) Ergebnismeldung des Auftrags bei der letzten Ausführung auf diesem Zielserver

Berechtigungen

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Andere Benutzer müssen Mitglieder der festen SQL Server -Agent-Datenbankrollen in der msdb -Datenbank sein:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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

Mitglieder von SQLAgentUserRole können nur Aufträge anzeigen, die sie besitzen. Mitglieder von sysadmin, SQLAgentReaderRole und SQLAgentOperatorRole können alle lokalen und Multiserveraufträge anzeigen.

Beispiele

A. Auflisten von Informationen für alle Aufträge

Das folgende Beispiel führt die sp_help_job-Prozedur ohne Parameter aus, um Informationen für alle aktuell in der msdb-Datenbank definierten Aufträge zurückzugeben.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job ;  
GO  

B. Auflisten von Informationen für Aufträge, die ein bestimmtes Kriterium erfüllen

Im folgenden Beispiel werden Auftragsinformationen für die Multiserveraufträge im Besitz von françoisa aufgelistet, wenn der Auftrag aktiviert und ausgeführt wird.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job   
   @job_type = N'MULTI-SERVER',  
   @owner_login_name = N'françoisa',  
   @enabled = 1,  
   @execution_status = 1 ;  
GO  

C. Auflisten aller Aspekte der Informationen für einen Auftrag

Im folgenden Beispiel werden alle Aspekte der Informationen für den Auftrag NightlyBackups aufgelistet.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job  
    @job_name = N'NightlyBackups',  
    @job_aspect = N'ALL' ;  
GO  

Weitere Informationen

sp_add_job (Transact-SQL)
sp_delete_job (Transact-SQL)
sp_update_job (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)