sp_help_jobhistory (Transact-SQL)

Stellt Informationen zu den Aufträgen für Server in der Domäne zur Multiserveradministration bereit.

Themenlink (Symbol)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 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