Condividi tramite


sp_help_jobhistory (Transact-SQL)

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

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.

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, livello maggiore di gravità degli errori Transact-SQL restituiti 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.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

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

Vedere anche

Riferimento

sp_purge_jobhistory (Transact-SQL)
Stored procedure di sistema (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005