sp_help_jobhistory (Transact-SQL)
Stellt Informationen zu den Aufträgen für Server in der Domäne zur Multiserveradministration bereit.
Transact-SQL-Syntaxkonventionen
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 Auftrags-ID job_id ist vom Datentyp uniqueidentifier. Der Standardwert ist NULL.[ @job_name= ] 'job_name'
Der Name des Auftrags. job_name ist sysname. Der Standardwert ist NULL.[ @step_id= ] step_id
Die Schritt-ID. 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 wurde. 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 wurde. 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_dateist vom Datentyp int. Der Standardwert ist NULL. start_run_date muss im Format YYYYMMDD eingegeben werden, wobei YYYY ein vier Zeichen langes Jahr, MM ein zwei Zeichen langer Monatsname und DD ein zwei Zeichen langer Tagesname ist.[ @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_datemuss im Format YYYYMMDD eingegeben werden, wobei YYYY ein vierstelliges Jahr, MM ein zwei Zeichen langer Monatsname und DD ein zwei Zeichen langer Tagesname ist.[ @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_timemuss im Format HHMMSS eingegeben werden, wobei HH eine zwei Zeichen lange Stunde, MM eine zwei Zeichen lange Minute und SS eine zwei Zeichen lange Sekunde ist.[ @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_timemuss im Format HHMMSS eingegeben werden, wobei HH eine zwei Zeichen lange Stunde, MM eine zwei Zeichen lange Minute und SS eine zwei Zeichen lange Sekunde ist.[ @minimum_run_duration= ] minimum_run_duration
Die minimale Zeit für den Abschluss des Auftrags. minimum_run_duration ist vom Datentyp int. Der Standardwert ist NULL. minimum_run_durationmuss im Format HHMMSS eingegeben werden, wobei HH eine zwei Zeichen lange Stunde, MM eine zwei Zeichen lange Minute und SS eine zwei Zeichen lange Sekunde ist.[ @run_status= ] run_status
Der Ausführungsstatus des Auftrags. run_status ist vom Datentyp int. Der Standardwert ist NULL, und Die folgenden Werte sind möglich:Wert
Beschreibung
0
Fehlgeschlagen
1
Erfolgreich
2
Wiederholen (nur Schritte)
3
Canceled
4
Wird ausgeführt
5
Unbekannt
[ @minimum_retries= ] minimum_retries
Die Mindestanzahl von Wiederholungsversuchen für die Ausführung eines Auftrags. minimum_retries ist vom Datentyp int. Der Standardwert ist NULL.[ @oldest_first= ] oldest_first
Gibt an, ob bei der Ausgabe die ältesten Aufträge zuerst angezeigt werden sollen. oldest_first ist vom Datentyp int. Der Standardwert ist 0 und gibt an, dass die neuesten Aufträge zuerst ausgegeben 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 ausgeben soll. mode ist vom Datentyp varchar(7). Der Standardwert ist 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 bestimmte Bedingungen erfüllen
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