sp_help_jobhistory (Transact-SQL)
Gilt für: SQL Server
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 = ] N'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 = ] N'server' ]
[ , [ @mode = ] 'mode' ]
[ ; ]
Argumente
[ @job_id = ] 'job_id'
Die Auftrags-ID @job_id ist eindeutiger Bezeichner mit einem Standardwert von NULL
.
[ @job_name = ] N'job_name'
Der Name des Auftrags. @job_name ist "sysname" mit der Standardeinstellung "NULL
.
[ @step_id = ] step_id
Die Schritt-ID. @step_id ist int mit einem Standardwert von NULL
.
[ @sql_message_id = ] sql_message_id
Die Identifikationsnummer der Fehlermeldung, die von SQL Server beim Ausführen des Auftrags zurückgegeben wird. @sql_message_id ist int, mit einem Standardwert von NULL
.
[ @sql_severity = ] sql_severity
Der Schweregrad der Fehlermeldung, die von SQL Server beim Ausführen des Auftrags zurückgegeben wurde. @sql_severity ist int, mit einem Standardwert von NULL
.
[ @start_run_date = ] start_run_date
Das Datum, an dem der Auftrag gestartet wurde. @start_run_date ist int mit einem Standardwert von NULL
. @start_run_date muss in das Formular yyyyMMdd
eingegeben werden, wobei yyyy
es sich um ein vierstelliges Jahr handelt, MM
einen zweistelligen Monatsnamen und dd
einen zweistelligen Tagnamen ist.
[ @end_run_date = ] end_run_date
Das Datum, an dem der Auftrag abgeschlossen wurde. @end_run_date ist int mit einem Standardwert von NULL
. @end_run_date muss in das Formular yyyyMMdd
eingegeben werden, wobei yyyy
es sich um ein vierstelliges Jahr handelt, MM
einen zweistelligen Monatsnamen und dd
einen zweistelligen Tagnamen ist.
[ @start_run_time = ] start_run_time
Die Uhrzeit, zu der der Auftrag gestartet wurde. @start_run_time ist int mit einem Standardwert von NULL
. @start_run_time muss in das Formular HHmmss
eingegeben werden, wobei HH
es sich um eine zweistellige Stunde des Tages handelt, mm
eine zweistellige Minute des Tages und ss
ein zweistellige Sekunde des Tages ist.
[ @end_run_time = ] end_run_time
Die Uhrzeit, zu der die Ausführung des Auftrags abgeschlossen wurde. @end_run_time ist int mit einem Standardwert von NULL
. @end_run_time muss in das Formular HHmmss
eingegeben werden, wobei HH
es sich um eine zweistellige Stunde des Tages handelt, mm
eine zweistellige Minute des Tages und ss
ein zweistellige Sekunde des Tages ist.
[ @minimum_run_duration = ] minimum_run_duration
Die minimale Zeit für den Abschluss des Auftrags. @minimum_run_duration ist int mit einem Standardwert von NULL
. @minimum_run_duration muss in das Formular HHmmss
eingegeben werden, wobei HH
es sich um eine zweistellige Stunde des Tages handelt, mm
eine zweistellige Minute des Tages und ss
ein zweistellige Sekunde des Tages ist.
[ @run_status = ] run_status
Der Ausführungsstatus des Auftrags.@run_status ist int und kann einer dieser Werte sein.
Wert | Beschreibung |
---|---|
0 |
Fehler |
1 |
Erfolgreich |
2 |
Wiederholen (nur Schritte) |
3 |
Storniert |
4 |
In Bearbeitungsmeldung |
5 |
Unbekannt |
[ @minimum_retries = ] minimum_retries
Die Mindestanzahl von Wiederholungsversuchen für die Ausführung eines Auftrags. @minimum_retries ist int mit einem Standardwert von NULL
.
[ @oldest_first = ] oldest_first
Gibt an, ob die Ausgabe zuerst mit den ältesten Aufträgen dargestellt werden soll. @oldest_first ist int mit einem Standardwert von 0
.
0
stellt zuerst die neuesten Aufträge vor.1
stellt zuerst die ältesten Aufträge dar.
[ @server = ] N'server'
Der Name des Servers, auf dem der Auftrag ausgeführt wurde. @server ist "sysname" mit dem Standardwert "NULL
.
[ @mode = ] 'Mode'
Gibt an, ob SQL Server alle Spalten im Resultset (FULL
) oder eine Zusammenfassung (SUMMARY
) der Spalten druckt. @mode ist varchar(7) mit einem Standardwert von SUMMARY
.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Resultset
Die tatsächliche Spaltenliste hängt vom Wert @mode ab. Der umfassendste Satz von Spalten wird in der folgenden Tabelle angezeigt und wird zurückgegeben, wenn @mode ist FULL
.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
instance_id |
int | Verlaufseintrags-ID |
job_id |
uniqueidentifier | Auftragsidentifikationsnummer. |
job_name |
sysname | Auftragsname. |
step_id |
int | Schrittidentifikationsnummer (0 für einen Auftragsverlauf). |
step_name |
sysname | Schrittname (NULL für einen Jobverlauf). |
sql_message_id |
int | Bei einem Transact-SQL-Schritt ist die letzte Transact-SQL-Fehlernummer beim Ausführen des Befehls aufgetreten. |
sql_severity |
int | Bei einem Transact-SQL-Schritt ist der höchste Transact-SQL-Fehlerschweregrad beim Ausführen des Befehls aufgetreten. |
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 | Verstrichene Zeit bei der Ausführung des Auftrags oder Schritts im HHmmss Format. |
operator_emailed |
nvarchar(20) | Betreiber, der in Bezug auf diesen Auftrag per E-Mail gemailt wurde (gilt NULL für den Schrittverlauf). |
operator_netsent |
nvarchar(20) | Der Betreiber, der eine Netzwerknachricht zu diesem Auftrag gesendet hat (gilt NULL für den Schrittverlauf). |
operator_paged |
nvarchar(20) | Operator, der in Bezug auf diesen Auftrag ausgelagert wurde (ist NULL für den 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
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 der SQLAgentUserRole-Datenbankrolle können nur den Verlauf für Aufträge anzeigen, die sie besitzen.
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