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.
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
Vedere anche