sp_help_job (Transact-SQL)

 

Gibt Informationen zu Aufträgen zurück, mit denen der SQL Server-Agent automatisierte Aktivitäten in SQL Server ausführt.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Topic link icon Transact-SQL-Syntaxkonventionen

  
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' ]  

[ @job_id =] job_id
Die Auftrags-ID job_id ist vom Datentyp uniqueidentifier. Der Standardwert ist NULL.

[ @job_name =] 'job_name'
Der Name des Auftrags. job_name ist vom Datentyp sysname. Der Standardwert ist NULL.

System_CAPS_ICON_note.jpg Hinweis


Es muss entweder job_id oder job_name angegeben werden, beide Angaben sind jedoch nicht möglich.

[ @job_aspect =] 'job_aspect'
Das Auftragsattribut, das angezeigt werden soll. job_aspect ist vom Datentyp varchar(9). Der Standardwert ist NULL, und Die folgenden Werte sind möglich:

WertBeschreibung
ALLAuftragsaspektinformationen
JOBAuftragsinformationen
SCHEDULESZeitplaninformationen
STEPSAuftragsschrittinformationen
TARGETSZielinformationen

[ @job_type =] 'job_type'
Der Typ von Aufträgen, die im Bericht enthalten sein sollen. job_type ist vom Datentyp varchar(12). Der Standardwert ist NULL. Der job_type kann LOCAL oder MULTI-SERVER lauten.

[ @owner_login_name =] 'login_name'
Der Anmeldename für den Besitzer des Auftrags. login_name ist vom Datentyp sysname. Der Standardwert ist NULL.

[ @subsystem =] 'subsystem'
Der Name des Subsystems. subsystem ist vom Datentyp nvarchar(40). Der Standardwert ist NULL.

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

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

[ @execution_status =] status
Der Ausführungsstatus der Aufträge. status ist vom Datentyp int. Der Standardwert ist NULL, und Die folgenden Werte sind möglich:

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

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

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

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

[ @description =] 'description_pattern'
Die Beschreibung des Auftrags. description_pattern ist vom Datentyp nvarchar(512). Der Standardwert ist NULL. description_pattern kann die SQL Server-Platzhalterzeichen für Mustervergleiche enthalten.

0 (Erfolg) oder 1 (Fehler)

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

SpaltennameDatentypBeschreibung
job_iduniqueidentifierDie eindeutige ID des Auftrags.
originating_servernvarchar(30)Name des Servers, von dem der Auftrag stammt
namesysnameName des Auftrags
enabledtinyintZeigt an, ob der Auftrag für die Ausführung aktiviert ist.
descriptionnvarchar(512)Beschreibung für den Auftrag.
start_step_idintDie ID des Schritts im Auftrag, bei dem die Ausführung beginnen soll.
categorysysnameAuftragskategorie
ownersysnameAuftragsbesitzer
notify_level_eventlogintBitmaske, die anzeigt, unter welchen Umständen ein Benachrichtigungsereignis im Microsoft Windows-Anwendungsprotokoll protokolliert werden soll. Kann einen der folgenden Werte annehmen:

 0 = Nie

 1 = Bei erfolgreicher Ausführung des Auftrags

 2 = Bei Fehlschlagen des Auftrags

 3 = Bei Abschluss des Auftrags (unabhängig vom Ergebnis des Auftrags)
notify_level_emailintBitmaske, die anzeigt, unter welchen Umständen bei Abschluss eines Auftrags eine Benachrichtigungs-E-Mail gesendet werden soll. Dieselben Werte wie bei notify_level_eventlog sind möglich.
notify_level_netsendintBitmaske, die anzeigt, unter welchen Umständen bei Abschluss eines Auftrags eine Netzwerkmeldung gesendet werden soll. Dieselben Werte wie bei notify_level_eventlog sind möglich.
notify_level_pageintBitmaske, die anzeigt, unter welchen Umständen bei Abschluss eines Auftrags eine Benachrichtigung per Pager gesendet werden soll. Dieselben Werte wie bei notify_level_eventlog sind möglich.
notify_email_operatorsysnameE-Mail-Name des Operators, der benachrichtigt werden soll
notify_netsend_operatorsysnameName des Computers oder Benutzers, der beim Senden von Netzwerkmeldungen verwendet wird
notify_page_operatorsysnameName des Computers oder Benutzers, der beim Senden einer Pagerbenachrichtigung verwendet wird
delete_levelintBitmaske, die anzeigt, unter welchen Umständen der Auftrag bei einem Auftragsabschluss gelöscht werden soll. Dieselben Werte wie bei notify_level_eventlog sind möglich.
date_createddatetimeDatum, an dem der Auftrag erstellt wurde
date_modifieddatetimeDatum, an dem der Auftrag zuletzt geändert wurde
version_numberintVersion des Auftrags (wird automatisch jedes Mal aktualisiert, wenn der Auftrag geändert wird)
last_run_dateintDatum, an dem die Ausführung des Auftrags zuletzt gestartet wurde
last_run_timeintUhrzeit, zu der die Ausführung des Auftrags zuletzt gestartet wurde
last_run_outcomeintErgebnis der letzten Ausführung des Auftrags:

 0 = Fehler

 1 = Erfolg

 3 = Abgebrochen

 5 = Unbekannt
next_run_dateintDatum, für das die nächste Ausführung des Auftrags geplant ist
next_run_timeintUhrzeit, zu der die nächste Ausführung des Auftrags geplant ist
next_run_schedule_idintZeitplan-ID für nächste Ausführung
current_execution_statusintAktueller Ausführungsstatus
current_execution_stepsysnameAktueller Ausführungsschritt des Auftrags
current_retry_attemptintWenn der Auftrag ausgeführt wird und der Schritt wiederholt wurde, ist dies der aktuelle Wiederholungsversuch
has_stepintAnzahl der Auftragsschritte des Auftrags
has_scheduleintAnzahl der Auftragszeitpläne des Auftrags
has_targetintDie Anzahl der Zielserver des Auftrags.
TypintAuftragstyp:

1 = Lokaler Auftrag

 2 = Multiserverauftrag

 0 = Auftrag hat keine Zielserver

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

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

SpaltennameDatentypBeschreibung
step_idintEindeutiger Bezeichner (für diesen Auftrag) für den Schritt
step_namesysnameName des Schritts
subsystemnvarchar(40)Subsystem, in dem der Schrittbefehl ausgeführt werden soll
commandnvarchar(3200)Auszuführender Befehl
flagsnvarchar(4000)Bitmaske der Werte, die das Schrittverhalten steuern
cmdexec_success_codeintBei einem CmdExec-Schritt ist dies der Prozessexitcode eines erfolgreichen Befehls.
on_success_actionnvarchar(4000)Mögliche Aktionen, wenn der Schritt erfolgreich durchgeführt wird:

 1 = Beenden mit Erfolg

 2 = Beenden mit Fehler

 3 = Weiter mit nächsten Schritt

 4 = Zu einem angegebenen Schritt wechseln
on_success_step_idintWenn on_success_action den Wert 4 aufweist, wird hiermit der nächste auszuführende Schritt angegeben.
on_fail_actionnvarchar(4000)Auszuführende Aktion, wenn der Schritt einen Fehler erzeugt. Dieselben Werte wie bei on_success_action sind möglich.
on_fail_step_idintWenn on_fail_action den Wert 4 aufweist, wird hiermit der nächste auszuführende Schritt angegeben.
serversysnameReserviert.
database_namesysnameFür einen Transact-SQL-Schritt ist dies die Datenbank, in der der Befehl ausgeführt wird.
database_user_namesysnameFür einen Transact-SQL-Schritt ist dies der Datenbank-Benutzerkontext, in dem der Befehl ausgeführt wird.
retry_attemptsintDie maximale Anzahl von Wiederholungsversuchen für den Befehl (falls er nicht erfolgreich ist), bevor der Schritt als fehlgeschlagen angesehen wird
retry_intervalintDas Intervall (in Minuten) zwischen den Wiederholungsversuchen
os_run_priorityvarchar(4000)Reserviert
output_file_namevarchar(200)Datei, in die die Befehlsausgabe geschrieben werden soll (nur Transact-SQL- und CmdExec-Schritte).
last_run_outcomeintErgebnis der letzten Ausführung des Schritts:

 0 = Fehler

 1 = Erfolg

 3 = Abgebrochen

 5 = Unbekannt
last_run_durationintDie Ausführungsdauer (in Sekunden) des Schritts bei der letzten Ausführung.
last_run_retriesintAnzahl der Wiederholungsversuche für den Befehl bei der letzten Ausführung des Schritts
last_run_dateintDatum, an dem die Ausführung des Schritts zuletzt gestartet wurde
last_run_timeintUhrzeit, zu der die Ausführung des Schritts zuletzt gestartet wurde
proxy_idintProxy für den Auftragsschritt

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

SpaltennameDatentypBeschreibung
schedule_idintBezeichner des Zeitplans (eindeutig für alle Aufträge)
schedule_namesysnameName des Zeitplans (eindeutig nur für diesen Auftrag)
enabledintGibt an, ob der Zeitplan aktiviert (1) oder deaktiviert (0) ist.
freq_typeintZeigt an, wann der Auftrag ausgeführt werden soll:

 1 = Einmal

 4 = Täglich

 8 = Wöchentlich

 16 = Monatlich

 32 = Monatlich, in Abhängigkeit von freq_interval

 64 = Ausführung, wenn der SQLServerAgent-Dienst gestartet wird
freq_intervalintTage, an denen der Auftrag ausgeführt wird. Der Wert hängt vom Wert für freq_type ab. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL).
freq_subday_typeIntEinheiten für freq_subday_interval. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL).
freq_subday_intervalintAnzahl der mit freq_subday_type angegebenen Zeiteinheiten zwischen den einzelnen Ausführungen des Auftrags. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL).
freq_relative_intervalintAuftreten von freq_interval des geplanten Auftrags in jedem Monat. Weitere Informationen finden Sie unter sp_add_schedule (Transact-SQL).
freq_recurrence_factorintAnzahl der Monate zwischen der geplanten Ausführung des Auftrags
active_start_dateintDatum, an dem die Ausführung des Auftrags beginnen soll
active_end_dateintDatum, an dem die Ausführung des Auftrags beendet werden soll
active_start_timeintUhrzeit, zu der die Ausführung des Auftrags am active_start_date beginnen soll
active_end_timeintUhrzeit, zu der die Ausführung des Auftrags am active_end_date beendet werden soll
date_createddatetimeDatum, an dem der Zeitplan erstellt wird
schedule_descriptionnvarchar(4000)Eine Beschreibung des Zeitplans in englischer Sprache (falls angefordert)
next_run_dateintDatum, an dem der Zeitplan die nächste Ausführung des Auftrags bewirken wird
next_run_timeintUhrzeit, zu der der Zeitplan die nächste Ausführung des Auftrags bewirken wird
schedule_uiduniqueidentifierBezeichner für den Zeitplan
job_countintGibt die Anzahl Aufträge zurück, die auf diesen Zeitplan verweisen

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

SpaltennameDatentypBeschreibung
server_idintBezeichner des Zielservers
server_namenvarchar(30)Computername des Zielservers
enlist_datedatetimeDatum, an dem der Zielserver auf dem Masterserver eingetragen wurde
last_poll_datedatetimeDatum, an dem der Zielserver den Masterserver zuletzt abgerufen hat
last_run_dateintDatum, an dem die Ausführung des Auftrags auf diesem Zielserver zuletzt gestartet wurde
last_run_timeintUhrzeit, zu der die Ausführung des Auftrags auf diesem Zielserver zuletzt gestartet wurde
last_run_durationintDauer des Auftrags bei der letzten Ausführung auf diesem Zielserver
last_run_outcometinyintErgebnis des Auftrags bei der letzten Ausführung auf diesem Server:

 0 = Fehlgeschlagen

 1 = Erfolg

 3 = Abgebrochen

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

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Anderen Benutzern muss eine der folgenden festen Datenbankrollen des SQL Server-Agents in der msdb-Datenbank zugewiesen werden:

  • 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 die Aufträge anzeigen, deren Besitzer sie sind. Mitglieder der sysadmin, SQLAgentReaderRole und SQLAgentOperatorRole-Rolle können alle lokalen und Multiserveraufträge beenden.

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  

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

Community-Beiträge

Anzeigen: