sp_help_jobhistory (Transact-SQL)
Si applica a: SQL Server
Restituisce informazioni sui processi per i server del dominio di amministrazione multiserver.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
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' ]
[ ; ]
Argomenti
[ @job_id = ] 'job_id'
Numero di identificazione del processo. @job_id è uniqueidentifier, con un valore predefinito .NULL
[ @job_name = ] N'job_name'
Il nome del processo. @job_name è sysname, con il valore predefinito NULL
.
[ @step_id = ] step_id
Numero di identificazione del passaggio. @step_id è int, con 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 è int, con 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 è int, con il valore predefinito .NULL
[ @start_run_date = ] start_run_date
Data di avvio del processo. @start_run_date è int, con il valore predefinito NULL
. @start_run_date deve essere immesso nel formato yyyyMMdd
, dove yyyy
è un anno di quattro caratteri, MM
è un nome di mese a due caratteri e dd
è un nome di due caratteri.
[ @end_run_date = ] end_run_date
Data di completamento del processo. @end_run_date è int, con un valore predefinito .NULL
@end_run_date deve essere immesso nel formato yyyyMMdd
, dove yyyy
è un anno di quattro caratteri, MM
è un nome di mese a due caratteri e dd
è un nome di giorno a due caratteri.
[ @start_run_time = ] start_run_time
Ora di avvio del processo. @start_run_time è int, con il valore predefinito NULL
. @start_run_time deve essere immesso nel formato HHmmss
, dove HH
è un'ora di due caratteri del giorno, mm
è un minuto di due caratteri del giorno e ss
è un secondo di due caratteri del giorno.
[ @end_run_time = ] end_run_time
Ora di completamento del processo. @end_run_time è int, con il valore predefinito NULL
. @end_run_time deve essere immesso nel formato HHmmss
, dove HH
è un'ora di due caratteri del giorno, mm
è un minuto di due caratteri del giorno e ss
è un secondo di due caratteri del giorno.
[ @minimum_run_duration = ] minimum_run_duration
Durata minima per il completamento del processo. @minimum_run_duration è int, con il valore predefinito .NULL
@minimum_run_duration deve essere immesso nel formato HHmmss
, dove HH
è un'ora di due caratteri del giorno, mm
è un minuto di due caratteri del giorno e ss
è un secondo di due caratteri del giorno.
[ @run_status = ] run_status
Stato di esecuzione del processo.@run_status è int e può essere uno di questi valori.
valore | Descrizione |
---|---|
0 |
Non inviato |
1 |
Completato |
2 |
Nuovo tentativo (solo passaggio) |
3 |
Annullati |
4 |
Messaggio di esecuzione in corso |
5 |
Sconosciuto |
[ @minimum_retries = ] minimum_retries
Numero minimo di tentativi per l'esecuzione di un processo. @minimum_retries è int, con il valore predefinito .NULL
[ @oldest_first = ] oldest_first
Indica se presentare prima l'output con i processi meno recenti. @oldest_first è int, con un valore predefinito .0
0
presenta prima i processi più recenti.1
presenta prima i lavori meno recenti.
[ @server = ] N'server'
Nome del server in cui è stato eseguito il processo. @server è sysname, con un valore predefinito .NULL
[ @mode = ] 'mode'
Specifica se SQL Server stampa tutte le colonne nel set di risultati (FULL
) o un riepilogo (SUMMARY
) delle colonne. @mode è varchar(7), con il valore predefinito SUMMARY
.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
L'elenco di colonne effettivo dipende dal valore di @mode. Il set di colonne più completo è illustrato nella tabella seguente e viene 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 (0 per una cronologia del processo). |
step_name |
sysname | Nome passaggio (NULL per una cronologia del processo). |
sql_message_id |
int | Per un passaggio Transact-SQL, il numero di errore Transact-SQL più recente rilevato durante l'esecuzione del comando. |
sql_severity |
int | Per un passaggio Transact-SQL, viene rilevata la gravità più elevata dell'errore Transact-SQL 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 | Tempo trascorso nell'esecuzione del processo o del passaggio in HHmmss formato . |
operator_emailed |
nvarchar(20) | Operatore inviato tramite posta elettronica per questo processo (è NULL relativo alla cronologia dei passaggi). |
operator_netsent |
nvarchar(20) | Operatore che è stato inviato un messaggio di rete relativo a questo processo (è NULL relativo alla cronologia dei passaggi). |
operator_paged |
nvarchar(20) | Operatore di cui è stato eseguito il paging relativo a questo processo (è NULL relativo alla 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:
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
È possibile concedere EXECUTE
autorizzazioni per questa procedura, ma queste autorizzazioni potrebbero essere sottoposte a override durante un aggiornamento di SQL Server.
È necessario concedere ad altri utenti uno dei ruoli predefiniti del database di SQL Server Agent seguenti:msdb
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Per informazioni dettagliate 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 per i processi di cui sono proprietari.
Esempi
R. Elencare tutte le informazioni sul processo per 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. Elencare le informazioni per i processi che soddisfano 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