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 di sintassi Transact-SQL

Sintassi

  
sp_help_job { [ @job_id = ] job_id  
[ @job_name = ] 'job_name' }   
     [ , [ @job_aspect = ] 'job_aspect' ]   
     [ , [ @job_type = ] 'job_type' ]   
     [ , [ @owner_login_name = ] 'login_name' ]   
     [ , [ @subsystem = ] 'subsystem' ]   
     [ , [ @category_name = ] 'category' ]   
     [ , [ @enabled = ] enabled ]   
     [ , [ @execution_status = ] status ]   
     [ , [ @date_comparator = ] 'date_comparison' ]   
     [ , [ @date_created = ] date_created ]   
     [ , [ @date_last_modified = ] date_modified ]   
     [ , [ @description = ] 'description_pattern' ]  

Argomenti

[ @job_id = ] job_id Numero di identificazione del processo. job_id è uniqueidentifier, con un valore predefinito NULL.

[ @job_name = ] 'job_name' Nome del processo. job_name è sysname, con valore predefinito NULL.

Nota

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), con un valore predefinito NULL e può essere uno di questi valori.

Valore Descrizione
ALL Informazioni sugli attributi del processo
LAVORO Informazioni posizione lavorativa
ORARI Informazioni sulla pianificazione
PASSI Informazioni sui passaggi del processo
OBIETTIVI Informazioni sul server di destinazione

[ @job_type = ] 'job_type' Tipo di processi da includere nel report. job_type è varchar(12), con valore predefinito NULL. job_type può essere LOCALE o MULTISERVER.

[ @owner_login_name = ] 'login_name' Nome dell'account di accesso del proprietario del processo. login_name è sysname, con un valore predefinito NULL.

[ @subsystem = ] 'subsystem' Nome del sottosistema. sottosistema è nvarchar(40), con un valore predefinito NULL.

[ @category_name = ] 'category' Nome della categoria. category è sysname, con un valore predefinito NULL.

[ @enabled = ] enabled Numero che indica se vengono visualizzate informazioni per i processi abilitati o i processi disabilitati. enabled è tinyint, con un valore predefinito NULL. 1 indica i processi abilitati e 0 indica i processi disabilitati.

[ @execution_status = ] status Stato di esecuzione per i processi. status è int, con un valore predefinito NULL e può essere uno di questi valori.

Valore Descrizione
0 Restituisce solo i processi non inattivi 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_comparison' Operatore di confronto da usare nei confronti di date_created e date_modified. date_comparison è char(1)e può essere =, <o >.

[ @date_created = ] date_created Data di creazione del processo. date_created è datetime, con valore predefinito NULL.

[ @date_last_modified = ] date_modified Data dell'ultima modifica del processo. date_modified è datetime, con valore predefinito NULL.

[ @description = ] 'description_pattern' Descrizione del processo. description_pattern è nvarchar(512), con valore predefinito NULL. description_pattern può includere i caratteri jolly di SQL Server 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.
abilitata tinyint Indica se il processo è abilitato per l'esecuzione.
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 in quali circostanze deve essere registrato un evento di notifica nel registro applicazioni di Microsoft Windows. I possibili valori sono i seguenti:

0 = Mai

1 = Quando un processo ha esito positivo

2 = Quando il processo ha esito negativo

3 = Ogni volta che il processo viene completato (indipendentemente dal risultato del processo)
notify_level_email int Maschera di bit che indica in quali circostanze 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 in quali circostanze 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 in quali circostanze 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 in quali circostanze 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 riuscito

1 = Operazione completata

3 = Annullato

5 = 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 = Esecuzione

2 = In attesa di thread

3 = Tra tentativi

4 = Inattiva

5 = Sospeso

6 = Obsoleto

7 = 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 ripetuto, indica il numero del tentativo in corso.
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 dei processi, 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.
Sottosistema nvarchar(40) Sottosistema in cui eseguire il comando del passaggio.
command nvarchar(3200) Comando da eseguire.
flags nvarchar(4000) Maschera di bit di valori che controllano il comportamento dei passaggi.
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 errore.

3 = Andare al passaggio successivo.

4 = Andare 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 verrà 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 esecuzione del comando (nel caso in cui non sia stato eseguito correttamente) oltre il quale il passaggio viene considerato errato.
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 riuscito

1 = Operazione completata

3 = Annullato

5 = 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.
abilitata int Indica se la pianificazione è attiva (1) o meno (0).
freq_type int Valore che indica la frequenza di esecuzione del processo:

1 = Una volta

4 = Giornaliero

8 = Settimanale

16 = Mensile

32 = Mensile, rispetto al freq_interval

64 = Eseguire all'avvio del servizio SQLServerAgent .
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 (Transact-SQL)
freq_subday_type Int Unità per freq_subday_interval. Per altre informazioni, vedere sp_add_schedule (Transact-SQL)
freq_subday_interval int Numero di periodi di freq_subday_type da eseguire tra ogni esecuzione del processo. Per altre informazioni, vedere sp_add_schedule (Transact-SQL)
freq_relative_interval int Occorrenza del processo pianificato del freq_interval in ogni mese. Per altre informazioni, vedere sp_add_schedule (Transact-SQL)
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 della successiva esecuzione del processo in base alla pianificazione.
next_run_time int Ora della successiva esecuzione del processo in base alla pianificazione.
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 riuscito

1 = Operazione completata

3 = Annullato

5 = Sconosciuto
last_outcome_message nvarchar(1024) Messaggio visualizzato dopo l'ultima esecuzione del processo nel server di destinazione.

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 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. Visualizzazione di un elenco di informazioni per i processi che corrispondono a un criterio specifico

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. Visualizzazione di un elenco di tutte le 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  

Vedi anche

sp_add_job (Transact-SQL)
sp_delete_job (Transact-SQL)
sp_update_job (Transact-SQL)
Stored procedure di sistema (Transact-SQL)