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)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für