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 = ] N'job_name' ]
[ , [ @job_aspect = ] 'job_aspect' ]
[ , [ @job_type = ] 'job_type' ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @subsystem = ] N'subsystem' ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @enabled = ] enabled ]
[ , [ @execution_status = ] execution_status ]
[ , [ @date_comparator = ] 'date_comparator' ]
[ , [ @date_created = ] date_created ]
[ , [ @date_last_modified = ] date_last_modified ]
[ , [ @description = ] N'description' ]
[ ; ]
Argumente
[ @job_id = ] 'job_id'
Die Auftrags-ID @job_id ist eindeutiger Bezeichner mit einem Standardwert von NULL
.
Um einen bestimmten Auftrag anzuzeigen, muss entweder @job_id oder @job_name angegeben werden. Lassen Sie sowohl @job_id als auch @job_name aus, um Informationen zu allen Aufträgen zurückzugeben.
[ @job_name = ] N'job_name'
Der Name des Auftrags. @job_name ist "sysname" mit der Standardeinstellung "NULL
.
Um einen bestimmten Auftrag anzuzeigen, muss entweder @job_id oder @job_name angegeben werden. Lassen Sie sowohl @job_id als auch @job_name aus, um Informationen zu allen Aufträgen zurückzugeben.
[ @job_aspect = ] 'job_aspect'
Das Auftragsattribut, das angezeigt werden soll. @job_aspect ist varchar(9) und kann einer dieser Werte sein.
Wert | Beschreibung |
---|---|
ALL |
Auftragsaspektinformationen |
JOB |
Stelleninformationen |
SCHEDULES |
Zeitplaninformationen |
STEPS |
Auftragsschrittinformationen |
TARGETS |
Zielinformationen |
[ @job_type = ] 'job_type'
Der Typ der Aufträge, die in den Bericht aufgenommen werden sollen.@job_type ist varchar(12) mit einem Standardwert von NULL
. @job_type kann sein LOCAL
oder MULTI-SERVER
.
[ @owner_login_name = ] N'owner_login_name'
Der Anmeldename für den Besitzer des Auftrags. @owner_login_name ist "sysname" mit einem Standardwert von NULL
.
[ @subsystem = ] N'Subsystem'
Der Name des Subsystems. @subsystem ist nvarchar(40), wobei die Standardeinstellung istNULL
.
[ @category_name = ] N'category_name'
Name der Kategorie. @category_name ist "sysname" mit der Standardeinstellung "NULL
.
[ @enabled = ] aktiviert
Eine Zahl, die angibt, ob Informationen für aktivierte oder deaktivierte Aufträge angezeigt werden. @enabled ist winzig, mit einem Standardwert von NULL
.
1
gibt aktivierte Aufträge an.0
gibt deaktivierte Aufträge an.
[ @execution_status = ] execution_status
Der Ausführungsstatus der Aufträge. @execution_status ist int und kann einer dieser Werte sein.
Wert | Beschreibung |
---|---|
0 |
Gibt nur die Aufträge zurück, die nicht im Leerlauf oder angehalten sind. |
1 |
Ausführend. |
2 |
Wartet auf Thread |
3 |
Zwischen Wiederholungen |
4 |
Im Leerlauf. |
5 |
Unterbrochen |
7 |
Abschlussaktionen werden ausgeführt |
[ @date_comparator = ] 'date_comparator'
Der Vergleichsoperator, der in Vergleichen von @date_created und @date_last_modified verwendet werden soll. @date_comparator ist Zeichen(1) und kann =
, oder <
>
.
[ @date_created = ] date_created
Das Datum, an dem der Auftrag erstellt wurde. @date_created ist "datetime" mit einem Standardwert von NULL
.
[ @date_last_modified = ] date_last_modified
Das Datum, an dem der Auftrag zuletzt geändert wurde. @date_last_modified ist "datetime" mit der Standardeinstellung "NULL
.
[ @description = ] N'description'
Die Beschreibung des Auftrags. @description ist nvarchar(512), mit einem Standardwert von NULL
. @description können die Wildcardzeichen für den Musterabgleich enthalten.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Resultset
Wenn keine Argumente angegeben werden, sp_help_job
wird dieses Resultset zurückgegeben.
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 | Gibt an, ob der Auftrag aktiviert ist, damit er ausgeführt werden kann. |
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 | Eine Bitmaske, die die Umstände angibt, in denen ein Benachrichtigungsereignis im Microsoft Windows-Anwendungsprotokoll protokolliert werden soll. Einer der folgenden Werte ist möglich:0 = Nie1 = Wenn ein Auftrag erfolgreich ist2 = Wenn der Auftrag fehlschlägt3 = Wann immer der Auftrag abgeschlossen ist (unabhängig vom Arbeitsergebnis) |
notify_level_email |
int | Eine Bitmaske, die die Umstände angibt, unter denen eine Benachrichtigungs-E-Mail gesendet werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit .notify_level_eventlog |
notify_level_netsend |
int | Eine Bitmaske, die die Umstände angibt, in denen eine Netzwerknachricht gesendet werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit .notify_level_eventlog |
notify_level_page |
int | Eine Bitmaske, die die Umstände angibt, unter denen eine Seite gesendet werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit .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 | Eine Bitmaske, die die Umstände angibt, unter denen der Auftrag gelöscht werden soll, wenn ein Auftrag abgeschlossen ist. Mögliche Werte sind identisch mit .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 beim letzten Ausführungsvorgang:0 = Fehlgeschlagen1 = Erfolgreich3 = Abgebrochen5 = 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ühren2 = Auf Thread warten3 = Zwischen Wiederholungen4 = Leerlauf5 = Angehalten6 = Veraltet7 = PerformingCompletionActions |
current_execution_step |
sysname | Aktueller Ausführungsschritt des Auftrags |
current_retry_attempt |
int | Wenn der Auftrag ausgeführt wird und der Schritt erneut versucht 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 hat keine Zielserver. |
Wenn @job_id oder @job_name angegeben ist, sp_help_job
werden diese zusätzlichen Resultsets für Auftragsschritte, Auftragspläne und Auftragszielserver zurückgegeben.
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 der Werte, die das Schrittverhalten steuern. |
cmdexec_success_code |
int | Bei einem CmdExec-Schritt ist dies der Prozessendecode eines erfolgreichen Befehls. |
on_success_action |
nvarchar(4000) | Mögliche Aktionen, wenn der Schritt erfolgreich durchgeführt wird:1 = Mit Erfolg beenden.2 = Mit Fehler beenden.3 = Zum nächsten Schritt wechseln.4 = Gehe zu Schritt. |
on_success_step_id |
int | Ist on_success_action dies 4 der Fall, gibt dies den nächsten Auszuführenden Schritt an. |
on_fail_action |
nvarchar(4000) | Auszuführende Aktion, wenn der Schritt einen Fehler erzeugt. Werte sind identisch mit den Werten für on_success_action . |
on_fail_step_id |
int | Ist on_fail_action dies 4 der Fall, 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 | Maximale Anzahl der Wiederholungsversuche des Befehls (wenn er nicht erfolgreich ist), bevor der Schritt als fehlgeschlagen eingestuft 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 = Fehlgeschlagen1 = Erfolgreich3 = Abgebrochen5 = 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 ist (1 ) oder nicht (0 ). |
freq_type |
int | Zeigt an, wann der Auftrag ausgeführt werden soll:1 = Einmal4 = Täglich8 = Wöchentlich16 = Monatlich32 = Monatlich, relativ zum freq_interval 64 = Ausführen, wenn SQL Server-Agent Dienst gestartet wird. |
freq_interval |
int | Tage, an dem der Auftrag ausgeführt wird. Der Wert hängt vom Wert von freq_type . Weitere Informationen finden Sie unter sp_add_schedule |
freq_subday_type |
int | Einheiten für freq_subday_interval . Weitere Informationen finden Sie unter sp_add_schedule |
freq_subday_interval |
int | Anzahl der freq_subday_type Perioden, die zwischen jeder Ausführung des Auftrags auftreten sollen. Weitere Informationen finden Sie unter sp_add_schedule |
freq_relative_interval |
int | Das Vorkommen des geplanten Auftrags in freq_interval jedem Monat. Weitere Informationen finden Sie unter sp_add_schedule |
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 für den Beginn der Ausführung des Auftrags am active_start_date. |
active_end_time |
int | Zeit zum Beenden der Ausführung des Auftrags am 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 als Nächstes ausgeführt wird. |
next_run_time |
int | Wenn der Zeitplan als nächstes ausgeführt wird, wird der Auftrag ausgeführt. |
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 = Fehlgeschlagen1 = Erfolgreich3 = Abgebrochen5 = Unbekannt |
last_outcome_message |
nvarchar(1024) | Ergebnismeldung des Auftrags bei der letzten Ausführung auf diesem Zielserver |
Berechtigungen
Diese gespeicherte Prozedur gehört der db_owner Rolle. Sie können berechtigungen für jeden Benutzer erteilen EXECUTE
, diese Berechtigungen können jedoch 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.
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 einem bestimmten Kriterium entsprechen
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 von 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