sp_help_jobhistory (Transact-SQL)
Stellt Informationen zu den Aufträgen für Server in der Domäne zur Multiserveradministration bereit.
Syntax
sp_help_jobhistory [ [ @job_id = ] job_id ]
[ , [ @job_name = ] 'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @sql_message_id = ] sql_message_id ]
[ , [ @sql_severity = ] sql_severity ]
[ , [ @start_run_date = ] start_run_date ]
[ , [ @end_run_date = ] end_run_date ]
[ , [ @start_run_time = ] start_run_time ]
[ , [ @end_run_time = ] end_run_time ]
[ , [ @minimum_run_duration = ] minimum_run_duration ]
[ , [ @run_status = ] run_status ]
[ , [ @minimum_retries = ] minimum_retries ]
[ , [ @oldest_first = ] oldest_first ]
[ , [ @server = ] 'server' ]
[ , [ @mode = ] 'mode' ]
Argumente
[ @job_id= ] job_id
Die ID des Auftrags. 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.[ @step_id= ] step_id
Die ID des Schritts. step_id ist vom Datentyp int; der Standardwert ist NULL.[ @sql_message_id= ] sql_message_id
Die ID der Fehlermeldung, die von Microsoft SQL Server beim Ausführen des Auftrags zurückgegeben wird. sql_message_id ist vom Datentyp int; der Standardwert ist NULL.[ @sql_severity= ] sql_severity
Der Schweregrad der Fehlermeldung, die von SQL Server beim Ausführen des Auftrags zurückgegeben wird. sql_severity ist vom Datentyp int; der Standardwert ist NULL.[ @start_run_date= ] start_run_date
Das Datum, an dem der Auftrag gestartet wurde. start_run_date ist vom Datentyp int; der Standardwert ist NULL. start_run_date muss im Format YYYYMMDD eingegeben werden. Dabei bezeichnet YYYY eine aus vier Zeichen bestehende Jahreszahl, MM einen aus zwei Zeichen bestehenden Monatsnamen und DD einen aus zwei Zeichen bestehenden Namen für den Tag.[ @end_run_date= ] end_run_date
Das Datum, an dem der Auftrag abgeschlossen wurde. end_run_date ist vom Datentyp int; der Standardwert ist NULL. end_run_date muss im Format YYYYMMDD eingegeben werden. Dabei bezeichnet YYYY eine aus vier Zeichen bestehende Jahreszahl, MM einen aus zwei Zeichen bestehenden Monatsnamen und DD einen aus zwei Zeichen bestehenden Namen für den Tag.[ @start_run_time= ] start_run_time
Die Uhrzeit, zu der der Auftrag gestartet wurde. start_run_time ist vom Datentyp int; der Standardwert ist NULL. start_run_time muss im Format HHMMSS eingegeben werden. Dabei bezeichnet HH eine aus zwei Zeichen bestehende Stundenangabe, MM eine aus zwei Zeichen bestehende Minutenangabe und SS eine aus zwei Zeichen bestehende Sekundenangabe.[ @end_run_time= ] end_run_time
Die Uhrzeit, zu der die Ausführung des Auftrags abgeschlossen wurde. end_run_time ist vom Datentyp int; der Standardwert ist NULL. end_run_time muss im Format HHMMSS eingegeben werden. Dabei bezeichnet HH eine aus zwei Zeichen bestehende Stundenangabe, MM eine aus zwei Zeichen bestehende Minutenangabe und SS eine aus zwei Zeichen bestehende Sekundenangabe.[ @minimum_run_duration= ] minimum_run_duration
Die Mindestzeit für das Abschließen des Auftrags. minimum_run_duration ist vom Datentyp int; der Standardwert ist NULL. minimum_run_duration muss im Format HHMMSS eingegeben werden. Dabei bezeichnet HH eine aus zwei Zeichen bestehende Stundenangabe, MM eine aus zwei Zeichen bestehende Minutenangabe und SS eine aus zwei Zeichen bestehende Sekundenangabe.[ @run_status= ] run_status
Der Ausführungsstatus des Auftrags. run_status ist vom Datentyp int; der Standardwert ist NULL. Die folgenden Werte sind möglich:Wert
Beschreibung
0
Fehlgeschlagen
1
Erfolgreich
2
Wiederholen (nur Schritte)
3
Abgebrochen
4
Wird ausgeführt
5
Unbekannt
[ @minimum_retries= ] minimum_retries
Die Mindestanzahl der Wiederholungsversuche für einen Auftrag. minimum_retries ist vom Datentyp int; der Standardwert ist NULL.[ @oldest_first= ] oldest_first
Gibt an, ob in der Ausgabe zuerst die ältesten Aufträge angezeigt werden sollen. oldest_first ist vom Datentyp int; der Standardwert ist 0, womit zuerst die neuesten Aufträge angezeigt werden. Mit 1 werden zuerst die ältesten Aufträge angezeigt.[ @server= ] 'server'
Der Name des Servers, auf dem der Auftrag ausgeführt wurde. server ist vom Datentyp nvarchar(30); der Standardwert ist NULL.[ @mode= ] 'mode'
Gibt an, ob SQL Server alle Spalten im Resultset (FULL) oder eine Zusammenfassung der Spalten (SUMMARY) ausgibt. mode ist vom Datentyp varchar(7) und hat den Standardwert SUMMARY.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Die tatsächliche Spaltenliste ist von dem Wert für mode abhängig. Die umfassendste Spaltenliste wird untenstehend gezeigt und wird zurückgegeben, wenn der Wert für mode FULL ist.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
instance_id |
int |
Verlaufseintrags-ID |
job_id |
uniqueidentifier |
Auftrags-ID. |
job_name |
sysname |
Auftragsname |
step_id |
int |
Schritt-ID (0 für einen Auftragsverlauf). |
step_name |
sysname |
Schrittname (NULL für einen Auftragsverlauf). |
sql_message_id |
int |
Für Transact-SQL-Schritte die letzte Transact-SQL-Fehlernummer, die beim Ausführen des Befehls gemeldet wurde. |
sql_severity |
int |
Für Transact-SQL-Schritte der höchste Transact-SQL-Fehlerschweregrad, der beim Ausführen des Befehls gemeldet wurde. |
message |
nvarchar(1024) |
Meldung zu Auftrags- oder Schrittverlauf. |
run_status |
int |
Ergebnis des Auftrags oder Schritts. |
run_date |
int |
Datum, an dem das Ausführen des Auftrags oder Schritts begann. |
run_time |
int |
Uhrzeit, zu der das Ausführen des Auftrags oder Schritts begann. |
run_duration |
int |
Vergangene Ausführungszeit des Auftrags oder Schritts im Format HHMMSS. |
operator_emailed |
nvarchar(20) |
Operator, der bezüglich dieses Auftrags per E-Mail benachrichtigt wurde (NULL für Schrittverlauf). |
operator_netsent |
nvarchar(20) |
Operator, dem bezüglich dieses Auftrags eine Netzwerknachricht gesendet wurde (NULL für Schrittverlauf). |
operator_paged |
nvarchar(20) |
Operator, der bezüglich dieses Auftrags per Pager benachrichtigt wurde (NULL für Schrittverlauf). |
retries_attempted |
int |
Die Wiederholungsversuche für den Schritt (für einen Auftragsverlauf immer 0). |
server |
nvarchar(30) |
Server, auf dem der Schritt oder Auftrag ausgeführt wird. Ist immer (local). |
Hinweise
sp_help_jobhistory gibt einen Bericht mit dem Verlauf der angegebenen geplanten Aufträge zurück. Werden keine Parameter angegeben, enthält der Bericht den Verlauf aller geplanten Aufträge.
Berechtigungen
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 der SQLAgentUserRole-Datenbankrolle können nur den Verlauf von Aufträgen anzeigen, deren Besitzer sie sind.
Beispiele
A. Auflisten aller Auftragsinformationen für einen Auftrag
Im folgenden Beispiel werden alle Auftragsinformationen für den NightlyBackups-Auftrag aufgelistet.
USE msdb ;
GO
EXEC dbo.sp_help_jobhistory
@job_name = N'NightlyBackups' ;
GO
B. Auflisten von Informationen für Aufträge, die bestimmten Bedingungen entsprechen
Im folgenden Beispiel werden alle Spalten und alle Auftragsinformationen für alle fehlgeschlagenen Aufträge und fehlgeschlagenen Auftragsschritte mit der Fehlermeldung 50100 (eine benutzerdefinierte Fehlermeldung) und einem Schweregrad von 20 aufgelistet.
USE msdb
GO
EXEC dbo.sp_help_jobhistory
@sql_message_id = 50100,
@sql_severity = 20,
@run_status = 0,
@mode = N'FULL' ;
GO