sp_help_job (Transact-SQL)
Si applica a: SQL Server
Restituisce informazioni sui processi usati da SQL Server Agent per eseguire attività automatizzate in SQL Server.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_help_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @job_aspect = ] 'job_aspect' ]
[ , [ @job_type = ] 'job_type' ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @subsystem = ] N'subsystem' ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @enabled = ] enabled ]
[ , [ @execution_status = ] execution_status ]
[ , [ @date_comparator = ] 'date_comparator' ]
[ , [ @date_created = ] date_created ]
[ , [ @date_last_modified = ] date_last_modified ]
[ , [ @description = ] N'description' ]
[ ; ]
Argomenti
[ @job_id = ] 'job_id'
Numero di identificazione del processo. @job_id è uniqueidentifier, con un valore predefinito .NULL
Per visualizzare un processo specifico, è necessario specificare @job_id o @job_name . Omettere sia @job_id che @job_name per restituire informazioni su tutti i processi.
[ @job_name = ] N'job_name'
Il nome del processo. @job_name è sysname, con il valore predefinito NULL
.
Per visualizzare un processo specifico, è necessario specificare @job_id o @job_name . Omettere sia @job_id che @job_name per restituire informazioni su tutti i processi.
[ @job_aspect = ] 'job_aspect'
Attributo del processo da visualizzare. @job_aspect è varchar(9) e può essere uno di questi valori.
valore | Descrizione |
---|---|
ALL |
Informazioni sugli attributi del processo |
JOB |
Informazioni posizione lavorativa |
SCHEDULES |
Informazioni sulla pianificazione |
STEPS |
Informazioni sui passaggi del processo |
TARGETS |
Informazioni sul server di destinazione |
[ @job_type = ] 'job_type'
Tipo di processi da includere nel report.@job_type è varchar(12), con il valore predefinito NULL
. @job_type può essere LOCAL
o MULTI-SERVER
.
[ @owner_login_name = ] N'owner_login_name'
Nome dell'account di accesso proprietario del processo. @owner_login_name è sysname, con il valore predefinito NULL
.
[ @subsystem = ] N'subsystem'
Nome del sottosistema. @subsystem è nvarchar(40), con il valore predefinito NULL
.
[ @category_name = ] N'category_name'
Nome della categoria. @category_name è sysname, con un valore predefinito .NULL
[ @enabled = ] abilitato
Valore che indica se visualizzare informazioni per i processi abilitati o per quelli disabilitati. @enabled è tinyint, con un valore predefinito .NULL
1
indica i processi abilitati.0
indica i processi disabilitati.
[ @execution_status = ] execution_status
Stato di esecuzione dei processi. @execution_status è int e può essere uno di questi valori.
valore | Descrizione |
---|---|
0 |
Restituisce solo i processi che non sono inattive o sospesi. |
1 |
In esecuzione. |
2 |
In attesa di un thread. |
3 |
Tra due tentativi. |
4 |
Operazione inattiva. |
5 |
Sospeso. |
7 |
Esecuzione delle azioni finali in corso. |
[ @date_comparator = ] 'date_comparator'
Operatore di confronto da usare nei confronti di @date_created e @date_last_modified. @date_comparator è char(1) e può essere =
, <
o >
.
[ @date_created = ] date_created
Data di creazione del processo. @date_created è datetime, con un valore predefinito .NULL
[ @date_last_modified = ] date_last_modified
Data dell'ultima modifica del processo. @date_last_modified è datetime, con il valore predefinito NULL
.
[ @description = ] N'description'
Descrizione del processo. @description è nvarchar(512), con il valore predefinito NULL
. @description può includere i caratteri jolly per la corrispondenza dei criteri.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
Se non vengono specificati argomenti, sp_help_job
restituisce questo set di risultati.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
job_id |
uniqueidentifier | ID univoco del processo. |
originating_server |
nvarchar(30) | Nome del server di provenienza del processo. |
name |
sysname | Nome del processo. |
enabled |
tinyint | Indica se il processo è abilitato, in modo che possa essere eseguito. |
description |
nvarchar(512) | Descrizione del processo. |
start_step_id |
int | ID del passaggio del processo da cui deve iniziare l'esecuzione. |
category |
sysname | Categoria del processo. |
owner |
sysname | Proprietario del processo. |
notify_level_eventlog |
int | Maschera di bit che indica le circostanze in cui un evento di notifica deve essere registrato nel registro applicazioni di Microsoft Windows. I possibili valori sono i seguenti:0 = Mai1 = Quando un processo ha esito positivo2 = Quando il processo ha esito negativo3 = Ogni volta che il processo viene completato (indipendentemente dal risultato del processo) |
notify_level_email |
int | Maschera di bit che indica le circostanze in cui deve essere inviato un messaggio di posta elettronica di notifica al termine di un processo. I valori possibili sono uguali a per notify_level_eventlog . |
notify_level_netsend |
int | Maschera di bit che indica le circostanze in cui deve essere inviato un messaggio di rete al termine di un processo. I valori possibili sono uguali a per notify_level_eventlog . |
notify_level_page |
int | Maschera di bit che indica le circostanze in cui deve essere inviata una pagina al termine di un processo. I valori possibili sono uguali a per notify_level_eventlog . |
notify_email_operator |
sysname | Nome di posta elettronica dell'operatore a cui inviare la notifica. |
notify_netsend_operator |
sysname | Nome di computer o di utente specificato quando si invia un messaggio in rete. |
notify_page_operator |
sysname | Nome di computer o di utente specificato quando si invia un messaggio su cercapersone. |
delete_level |
int | Maschera di bit che indica le circostanze in cui il processo deve essere eliminato al termine di un processo. I valori possibili sono uguali a per notify_level_eventlog . |
date_created |
datetime | Data di creazione del processo. |
date_modified |
datetime | Data dell'ultima modifica del processo. |
version_number |
int | Versione del processo aggiornata automaticamente in corrispondenza di ogni modifica del processo. |
last_run_date |
int | Data dell'ultimo avvio dell'esecuzione del processo. |
last_run_time |
int | Ora dell'ultimo avvio dell'esecuzione del processo. |
last_run_outcome |
int | Risultato dell'ultima esecuzione del processo:0 = Non riuscito1 = Riuscito3 = Annullato5 = Sconosciuto |
next_run_date |
int | Data pianificata per la successiva esecuzione del processo. |
next_run_time |
int | Ora pianificata per la successiva esecuzione del processo. |
next_run_schedule_id |
int | ID della successiva pianificazione di esecuzione. |
current_execution_status |
int | Stato di esecuzione corrente:1 = Esecuzione2 = In attesa di thread3 = Tra tentativi4 = Inattiva5 = Sospeso6 = Obsoleto7 = PerformingCompletionActions |
current_execution_step |
sysname | Passaggio di esecuzione corrente all'interno del processo. |
current_retry_attempt |
int | Se il processo è in esecuzione e il passaggio è stato ritentato, questo è il tentativo di ripetizione corrente. |
has_step |
int | Numero di passaggi del processo. |
has_schedule |
int | Numero di pianificazioni del processo. |
has_target |
int | Numero di server di destinazione del processo. |
type |
int | Tipo del processo.1 = Processo locale.2 = Processo multiserver.0 = Il processo non dispone di server di destinazione. |
Se si specifica @job_id o @job_name , sp_help_job
restituisce questi set di risultati aggiuntivi per i passaggi del processo, le pianificazioni dei processi e i server di destinazione del processo.
Il set di risultati per i passaggi del processo è il seguente.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
step_id |
int | Identificatore univoco (all'interno del processo) del passaggio. |
step_name |
sysname | Nome del passaggio. |
subsystem |
nvarchar(40) | Sottosistema in cui eseguire il comando del passaggio. |
command |
nvarchar(3200) | Comando da eseguire. |
flags |
nvarchar(4000) | Maschera di bit dei valori che controllano il funzionamento del passaggio. |
cmdexec_success_code |
int | Per un passaggio CmdExec , si tratta del codice di uscita del processo di un comando riuscito. |
on_success_action |
nvarchar(4000) | Azione da eseguire se il passaggio viene eseguito correttamente:1 = Uscire con esito positivo.2 = Uscire con un errore.3 = Andare al passaggio successivo.4 = Vai al passaggio. |
on_success_step_id |
int | Se on_success_action è 4 , indica il passaggio successivo da eseguire. |
on_fail_action |
nvarchar(4000) | Azione da eseguire se il passaggio non viene eseguito correttamente. I valori sono uguali a per on_success_action . |
on_fail_step_id |
int | Se on_fail_action è 4 , indica il passaggio successivo da eseguire. |
server |
sysname | Riservato. |
database_name |
sysname | Per un passaggio Transact-SQL, si tratta del database in cui viene eseguito il comando. |
database_user_name |
sysname | Per un passaggio Transact-SQL, si tratta del contesto utente del database in cui viene eseguito il comando. |
retry_attempts |
int | Numero massimo di tentativi di ripetizione del comando (se non riuscito) prima che il passaggio non sia riuscito. |
retry_interval |
int | Intervallo di tempo in minuti che intercorre tra un tentativo e il successivo. |
os_run_priority |
varchar(4000) | Riservato. |
output_file_name |
varchar(200) | File in cui scrivere l'output del comando (solo passaggi Transact-SQL e CmdExec ). |
last_run_outcome |
int | Risultato dell'ultima esecuzione del passaggio:0 = Non riuscito1 = Riuscito3 = Annullato5 = Sconosciuto |
last_run_duration |
int | Durata in secondi dell'ultima esecuzione del passaggio. |
last_run_retries |
int | Numero di tentativi di esecuzione del comando durante l'ultima esecuzione del passaggio. |
last_run_date |
int | Data di inizio dell'ultima esecuzione del passaggio. |
last_run_time |
int | Ora di inizio dell'ultima esecuzione del passaggio. |
proxy_id |
int | Proxy per il passaggio del processo. |
Il set di risultati per le pianificazioni del processo è il seguente.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
schedule_id |
int | ID della pianificazione, univoco per tutti i processi. |
schedule_name |
sysname | Nome della pianificazione, univoco soltanto per il processo specificato. |
enabled |
int | Indica se la pianificazione è attiva (1 ) o meno (0 ). |
freq_type |
int | Valore che indica la frequenza di esecuzione del processo:1 = Una volta4 = Giornaliero8 = Settimanale16 = Mensile32 = Mensile, relativo all'oggetto freq_interval 64 = Eseguire all'avvio del servizio SQL Server Agent. |
freq_interval |
int | Giorni in cui viene eseguito il processo. Il valore dipende dal valore di freq_type . Per altre informazioni, vedere sp_add_schedule |
freq_subday_type |
int | Unità per freq_subday_interval . Per altre informazioni, vedere sp_add_schedule |
freq_subday_interval |
int | Numero di freq_subday_type periodi che devono verificarsi tra ogni esecuzione del processo. Per altre informazioni, vedere sp_add_schedule |
freq_relative_interval |
int | Occorrenza del processo pianificato di freq_interval in ogni mese. Per altre informazioni, vedere sp_add_schedule |
freq_recurrence_factor |
int | Numero di mesi tra l'esecuzione pianificata del processo. |
active_start_date |
int | Data di inizio dell'esecuzione del processo. |
active_end_date |
int | Data di fine dell'esecuzione del processo. |
active_start_time |
int | Ora di inizio dell'esecuzione del processo in active_start_date. |
active_end_time |
int | Tempo per terminare l'esecuzione del processo in active_end_date . |
date_created |
datetime | Data di creazione della pianificazione. |
schedule_description |
nvarchar(4000) | Descrizione in inglese della pianificazione, se richiesta. |
next_run_date |
int | Data in cui la pianificazione successiva determina l'esecuzione del processo. |
next_run_time |
int | Ora in cui la pianificazione successiva determina l'esecuzione del processo. |
schedule_uid |
uniqueidentifier | Identificatore della pianificazione. |
job_count |
int | Restituisce il numero di processi che fanno riferimento a questa pianificazione. |
Il set di risultati per i server di destinazione del processo è il seguente.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
server_id |
int | ID del server di destinazione. |
server_name |
nvarchar(30) | Nome di computer del server di destinazione. |
enlist_date |
datetime | Data di integrazione del server di destinazione nel server master. |
last_poll_date |
datetime | Data dell'ultimo polling del server master eseguito dal server di destinazione. |
last_run_date |
int | Data di inizio dell'ultima esecuzione del processo nel server di destinazione. |
last_run_time |
int | Ora di inizio dell'ultima esecuzione del processo nel server di destinazione. |
last_run_duration |
int | Durata dell'ultima esecuzione del processo nel server di destinazione. |
last_run_outcome |
tinyint | Risultato dell'ultima esecuzione del processo nel server specificato:0 = Non riuscito1 = Riuscito3 = Annullato5 = Sconosciuto |
last_outcome_message |
nvarchar(1024) | Messaggio visualizzato dopo l'ultima esecuzione del processo nel server di destinazione. |
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 di SQLAgentUserRole possono visualizzare solo i processi di cui sono proprietari. I membri di sysadmin, SQLAgentReaderRole e SQLAgentOperatorRole possono visualizzare tutti i processi locali e multiserver.
Esempi
R. Visualizzazione di un elenco di informazioni per tutti i processi
Nell'esempio seguente la stored procedure sp_help_job
viene eseguita senza parametri in modo da ottenere informazioni su tutti i processi definiti nel database msdb
.
USE msdb;
GO
EXEC dbo.sp_help_job;
GO
B. Elencare le informazioni per i processi che corrispondono a criteri specifici
Nell'esempio seguente viene visualizzato un elenco di informazioni per i processi multiserver di cui è proprietario françoisa
dove il processo è attivato e in fase di esecuzione.
USE msdb;
GO
EXEC dbo.sp_help_job
@job_type = N'MULTI-SERVER',
@owner_login_name = N'françoisa',
@enabled = 1,
@execution_status = 1;
GO
C. Elencare tutti gli aspetti delle informazioni per un processo
Nell'esempio seguente viene visualizzato un elenco di tutti gli aspetti correlati alle informazioni per il processo NightlyBackups
.
USE msdb;
GO
EXEC dbo.sp_help_job
@job_name = N'NightlyBackups',
@job_aspect = N'ALL';
GO