Condividi tramite


sp_help_jobhistory (Transact-SQL)

Restituisce informazioni sui processi per i server del dominio di amministrazione multiserver.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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' ]

Argomenti

  • [ @job_id= ] job_id
    Numero di identificazione del processo. job_id è di tipo uniqueidentifier e il valore predefinito è NULL.

  • [ @job_name= ] 'job_name'
    Nome del processo. job_name è di tipo sysname e il valore predefinito è NULL.

  • [ @step_id= ] step_id
    Numero di identificazione del passaggio. step_id è di tipo int e il valore predefinito è NULL.

  • [ @sql_message_id= ] sql_message_id
    Numero di identificazione del messaggio di errore restituito da SQL Server durante l'esecuzione del processo. sql_message_id è di tipo int e il valore predefinito è NULL.

  • [ @sql_severity= ] sql_severity
    Livello di gravità del messaggio di errore restituito da SQL Server durante l'esecuzione del processo. sql_severity è di tipo int e il valore predefinito è NULL.

  • [ @start_run_date= ] start_run_date
    Data di avvio del processo. start_run_dateè di tipo int e il valore predefinito è NULL. start_run_date deve essere un valore in formato YYYYMMDD, dove YYYY è l'anno espresso con quattro cifre, MM è il mese espresso con due cifre e AA è il giorno del mese espresso con due cifre.

  • [ @end_run_date= ] end_run_date
    Data di completamento del processo. end_run_date è di tipo int e il valore predefinito è NULL. end_run_datedeve essere un valore in formato YYYYMMDD, dove YYYY è l'anno espresso con quattro cifre, MM è il mese espresso con due cifre e AA è il giorno del mese espresso con due cifre.

  • [ @start_run_time= ] start_run_time
    Ora di avvio del processo. start_run_time è di tipo int e il valore predefinito è NULL. start_run_timedeve essere un valore in formato HHMMSS, dove HH è l'ora, MM è il numero di minuti e SS è il numero di secondi. I tre componenti sono espressi con due cifre.

  • [ @end_run_time= ] end_run_time
    Ora di completamento del processo. end_run_time è di tipo int e il valore predefinito è NULL. end_run_timedeve essere un valore in formato HHMMSS, dove HH è l'ora, MM è il numero di minuti e SS è il numero di secondi. I tre componenti sono espressi con due cifre.

  • [ @minimum_run_duration= ] minimum_run_duration
    Durata minima per il completamento del processo. minimum_run_duration è di tipo int e il valore predefinito è NULL. minimum_run_durationdeve essere un valore in formato HHMMSS, dove HH è l'ora, MM è il numero di minuti e SS è il numero di secondi. I tre componenti sono espressi con due cifre.

  • [ @run_status= ] run_status
    Stato di esecuzione del processo. run_status è di tipo int e il valore predefinito è NULL. I possibili valori sono i seguenti.

    Valore

    Descrizione

    0

    Non riuscito

    1

    Completato

    2

    Nuovo tentativo (solo passaggio)

    3

    Annullato

    4

    Messaggio di esecuzione in corso

    5

    Sconosciuto

  • [ @minimum_retries= ] minimum_retries
    Numero minimo di tentativi per l'esecuzione di un processo. minimum_retries è di tipo int e il valore predefinito è NULL.

  • [ @oldest_first= ] oldest_first
    Indica se i processi meno recenti devono essere visualizzati per primi nell'output. oldest_first è di tipo int e il valore predefinito è 0, che consente di elencare per primi i processi più recenti. 1 consente invece di visualizzare per primi i processi meno recenti.

  • [ @server= ] 'server'
    Nome del server in cui è stato eseguito il processo. server è di tipo nvarchar(30) e il valore predefinito è NULL.

  • [ @mode= ] 'mode'
    Indica se stampare tutte le colonne del set di risultati (FULL) o un riepilogo delle colonne. mode è di tipo varchar(7) e il valore predefinito è SUMMARY.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

L'elenco delle colonne dipende dal valore di mode. Di seguito è riportato il set di colonne più completo restituito quando mode è FULL.

Nome colonna

Tipo di dati

Descrizione

instance_id

int

Numero di identificazione della voce di cronologia.

job_id

uniqueidentifier

Numero di identificazione del processo.

job_name

sysname

Nome del processo.

step_id

int

Numero di identificazione del passaggio (uguale a 0 per la cronologia dei processi).

step_name

sysname

Nome del passaggio (è NULL per la cronologia dei processi).

sql_message_id

int

Per un passaggio Transact-SQL, numero di errore Transact-SQL più recente restituito durante l'esecuzione del comando.

sql_severity

int

Per un passaggio Transact-SQL, gravità di errore Transact-SQL più elevata restituita durante l'esecuzione del comando.

message

nvarchar(1024)

Messaggio della cronologia relativo al processo o al passaggio.

run_status

int

Risultato del processo o del passaggio.

run_date

int

Data di inizio dell'esecuzione del processo o del passaggio.

run_time

int

Ora di inizio dell'esecuzione del processo o del passaggio.

run_duration

int

Periodo trascorso, in formato HHMMSS, nella fase di esecuzione del processo o passaggio.

operator_emailed

nvarchar(20)

Operatore che ha ricevuto la notifica relativa al processo tramite posta elettronica (è NULL per la cronologia dei passaggi).

operator_netsent

nvarchar(20)

Operatore che ha ricevuto la notifica relativa al processo tramite un messaggio di rete (è NULL per la cronologia dei passaggi).

operator_paged

nvarchar(20)

Operatore che ha ricevuto la notifica relativa al processo tramite cercapersone (è NULL per la cronologia dei passaggi).

retries_attempted

int

Numero di tentativi di esecuzione del passaggio (è sempre 0 per la cronologia dei processi).

server

nvarchar(30)

Server in cui viene eseguito il processo o il passaggio. È sempre (local).

Osservazioni

La stored procedure sp_help_jobhistory restituisce un report con la cronologia dei processi pianificati specificati. Se non viene specificato alcun parametro, il report include la cronologia di tutti i processi pianificati.

Autorizzazioni

Per impostazione predefinita, questa stored procedure può essere eseguita dai membri del ruolo predefinito del server sysadmin. Gli altri utenti devono appartenere a uno dei seguenti ruoli predefiniti del database di SQL Server Agent nel database msdb:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Per informazioni sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.

I membri del ruolo del database SQLAgentUserRole possono visualizzare solo la cronologia dei processi di cui sono proprietari.

Esempi

A. Visualizzazione di un elenco di tutte le informazioni di un processo

Nell'esempio seguente viene visualizzato un elenco di informazioni per il processo NightlyBackups

USE msdb ;
GO

EXEC dbo.sp_help_jobhistory 
    @job_name = N'NightlyBackups' ;
GO

B. Visualizzazione di un elenco di informazioni per i processi che corrispondono a determinate condizioni

Nell'esempio seguente vengono stampate tutte le colonne e tutte le informazioni relative ai processi e ai passaggi non eseguiti correttamente che hanno generato un messaggio di errore 50100 (messaggio di errore definito dall'utente) con livello di gravità 20.

USE msdb
GO

EXEC dbo.sp_help_jobhistory
    @sql_message_id = 50100,
    @sql_severity = 20,
    @run_status = 0,
    @mode = N'FULL' ;
GO