sp_help_job (Transact-SQL)

Restituisce informazioni sui processi utilizzati da SQL Server Agent per l'esecuzione di attività automatizzate in SQL Server.

Icona di collegamento a un argomentoConvenzioni della 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 è 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.

    [!NOTA]

    È necessario specificare l'argomento job_id oppure l'argomento job_name ma non è possibile specificarli entrambi.

  • [ @job_aspect =] 'job_aspect'
    Attributo del processo da visualizzare. job_aspect è di tipo varchar(9) e il valore predefinito è NULL. I possibili valori sono i seguenti.

    Valore

    Descrizione

    ALL

    Informazioni sugli attributi del processo

    JOB

    Informazioni sul processo

    SCHEDULES

    Informazioni sulla pianificazione

    STEPS

    Informazioni sui passaggi del processo

    TARGETS

    Informazioni sul server di destinazione

  • [ @job_type =] 'job_type'
    Tipo di processo da includere nel report. job_type è di tipo varchar(12) e il valore predefinito è NULL. I possibili valori dijob_type possono essere LOCAL o MULTI-SERVER.

  • [ @owner_login_name =] 'login_name'
    Nome dell'account di accesso proprietario del processo. login_name è di tipo sysname e il valore predefinito è NULL.

  • [ @subsystem =] 'subsystem'
    Nome del sottosistema. subsystem è di tipo nvarchar(40) e il valore predefinito è NULL.

  • [ @category_name =] 'category'
    Nome della categoria. category è di tipo sysname e il valore predefinito è NULL.

  • [ @enabled =] enabled
    Valore che indica se visualizzare informazioni per i processi attivati o per quelli disattivati. enabled è di tipo tinyint e il valore predefinito è NULL. 1 indica la visualizzazione dei processi attivati, 0 la visualizzazione di quelli disattivati.

  • [ @execution_status =] status
    Stato di esecuzione dei processi. status è di tipo int e il valore predefinito è NULL. I possibili valori sono i seguenti.

    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

    Inattivo.

    5

    Sospeso.

    7

    Esecuzione delle azioni finali in corso.

  • [ @date_comparator =] 'date_comparison'
    Operatore di confronto da utilizzare nei confronti tra date_created e date_modified. date_comparison è di tipo char(1) e i possibili valori sono =, < o >.

  • [ @date_created =] date_created
    Data di creazione del processo. date_createdè di tipo datetime e il valore predefinito è NULL.

  • [ @date_last_modified =] date_modified
    Data dell'ultima modifica del processo. date_modified è di tipo datetime e il valore predefinito è NULL.

  • [ @description =] 'description_pattern'
    Descrizione del processo. description_pattern è di tipo nvarchar(512) e il valore predefinito è NULL. description_pattern può includere i caratteri jolly di SQL Server per i criteri di ricerca.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Se non è specificato alcun argomento, sp_help_job restituisce il set di risultati seguente.

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 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 le condizioni per la registrazione dell'evento di notifica nel registro applicazioni di Microsoft Windows. I possibili valori sono i seguenti:

0 = Mai

1 = In caso di esito positivo del processo

2 = In caso di esito negativo del processo

3 = Al termine del processo (indipendentemente dal risultato)

notify_level_email

int

Maschera di bit che indica le condizioni per l'invio di un messaggio di posta elettronica di notifica al termine di un processo. I valori possibili sono gli stessi validi per notify_level_eventlog.

notify_level_netsend

int

Maschera di bit che indica le condizioni per l'invio di un messaggio di rete al termine di un processo. I valori possibili sono gli stessi validi per notify_level_eventlog.

notify_level_page

int

Maschera di bit che indica le condizioni per l'invio di un messaggio su cercapersone al termine di un processo. I valori possibili sono gli stessi validi 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 condizioni per l'eliminazione di un processo al termine del processo. I valori possibili sono gli stessi validi 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 completato

1 = Completato

3 = Annullato

5 = Stato 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.

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 = Processo privo di server di destinazione.

Se viene specificato job_id o job_name, sp_help_job restituisce i set di risultati aggiuntivi riportati di seguito per i passaggi, le pianificazioni 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, codice di uscita del processo di un comando eseguito correttamente.

on_success_action

nvarchar(4000)

Azione da eseguire se il passaggio viene eseguito correttamente:

1 = Uscita in caso di esito positivo.

2 = Uscita in caso di esito negativo.

3 = Esecuzione del passaggio successivo.

4 = Esecuzione di un passaggio.

on_success_step_id

int

Se on_success_action è 4, indica il passaggio da eseguire.

on_fail_action

nvarchar(4000)

Azione da eseguire se il passaggio non viene eseguito correttamente. I possibili valori corrispondono a quelli di on_success_action.

on_fail_step_id

int

Se on_fail_action è 4, indica il passaggio da eseguire.

server

sysname

Riservato.

database_name

sysname

Per un passaggio Transact-SQL, indica il database in cui verrà eseguito il comando.

database_user_name

sysname

Per un passaggio Transact-SQL, indica il 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 per i passaggi Transact-SQL e CmdExec).

last_run_outcome

int

Risultato dell'ultima esecuzione del passaggio:

0 = Operazione non riuscita

1 = Completato

3 = Annullato

5 = Stato 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 volta

4 = Giornaliera

8 = Settimanale

16 = Mensile

32 = Mensile basata su freq_interval

64 = All'avvio del servizio SQLServerAgent

freq_interval

int

Giorni in cui viene eseguito il processo. Il valore dipende da quello di freq_type. Per ulteriori informazioni, vedere sp_add_schedule (Transact-SQL).

freq_subday_type

Int

Unità per freq_subday_interval. Per ulteriori informazioni, vedere sp_add_schedule (Transact-SQL).

freq_subday_interval

int

Numero di periodi freq_subday_type che devono intercorrere tra un'esecuzione del processo e la successiva. Per ulteriori informazioni, vedere sp_add_schedule (Transact-SQL).

freq_relative_interval

int

Occorrenza di freq_interval al mese per il processo pianificato. Per ulteriori 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 nella data specificata in active_start_date.

active_end_time

int

Ora di fine dell'esecuzione del processo nella data specificata 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 completato

1 = Completato

3 = Annullato

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

A. 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