sp_help_job (Transact-SQL)

S’applique à :SQL Server

Retourne des informations sur les travaux utilisés par SQL Server Agent pour effectuer des activités automatisées dans SQL Server.

Conventions de la syntaxe Transact-SQL

Syntaxe

  
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' ]  

Arguments

[ @job_id = ] job_id Numéro d’identification du travail. job_id est uniqueidentifier, avec une valeur par défaut NULL.

[ @job_name = ] 'job_name' Nom du travail. job_name est sysname, avec la valeur par défaut NULL.

Notes

Pour afficher un travail spécifique, job_id ou job_name doivent être spécifiés. Omettez à la fois job_id et job_name pour retourner des informations sur tous les travaux.

[ @job_aspect = ] 'job_aspect' Attribut de travail à afficher. job_aspect est varchar(9), avec la valeur NULL par défaut, et peut être l’une de ces valeurs.

Valeur Description
ALL Informations sur l'aspect du travail.
TRAVAIL Informations sur le travail.
HORAIRES Informations sur la planification.
ÉTAPES Informations sur l'étape du travail
CIBLES Informations sur la cible

[ @job_type = ] 'job_type' Type de travaux à inclure dans le rapport. job_type est varchar(12), avec la valeur NULL par défaut. job_type peut être LOCAL ou MULTI-SERVER.

[ @owner_login_name = ] 'login_name' Nom de connexion du propriétaire du travail. login_name est sysname, avec la valeur par défaut NULL.

[ @subsystem = ] 'subsystem' Nom du sous-système. le sous-système est nvarchar(40), avec la valeur par défaut NULL.

[ @category_name = ] 'category' Nom de la catégorie. category est sysname, avec une valeur par défaut NULL.

[ @enabled = ] enabled Nombre indiquant si les informations sont affichées pour les travaux activés ou les travaux désactivés. enabled est tinyint, avec la valeur null par défaut. 1 indique les travaux activés et 0 indique les travaux désactivés.

[ @execution_status = ] status État d’exécution des travaux. status est int, avec une valeur null par défaut, et peut être l’une de ces valeurs.

Valeur Description
0 Renvoie uniquement les travaux qui ne sont ni inactifs ni suspendus.
1 En cours d'exécution.
2 Attente du thread.
3 Entre deux reprises.
4 Inactif.
5 Suspendu.
7 Effectue le travail.

[ @date_comparator = ] 'date_comparison' Opérateur de comparaison à utiliser dans les comparaisons de date_created et de date_modified. date_comparison est char(1),et peut être =, <, ou >.

[ @date_created = ] date_created Date de création du travail. date_createdest datetime, avec la valeur null par défaut.

[ @date_last_modified = ] date_modified Date de la dernière modification du travail. date_modified est datetime, avec la valeur NULL par défaut.

[ @description = ] 'description_pattern' Description du travail. description_pattern est nvarchar(512) avec la valeur NULL par défaut. description_pattern pouvez inclure les caractères génériques SQL Server pour la correspondance de modèle.

Codet de retour

0 (réussite) ou 1 (échec)

Jeux de résultats

Si aucun argument n’est spécifié, sp_help_job retourne ce jeu de résultats.

Nom de la colonne Type de données Description
job_id uniqueidentifier ID unique du travail.
originating_server nvarchar(30) Nom du serveur d'origine du travail
name sysname Nom du travail.
activé tinyint Indique si le travail est activé pour être exécuté.
description nvarchar(512) Description du travail.
start_step_id int Identificateur de l'étape du travail à partir de laquelle l'exécution doit débuter.
category sysname Catégorie de travail.
propriétaire sysname Propriétaire du travail.
notify_level_eventlog int Masque de bits indiquant dans quelles circonstances un événement de notification doit être enregistré dans le journal des applications Microsoft Windows. Peut prendre l'une des valeurs suivantes :

0 = Jamais

1 = Quand un travail réussit

2 = En cas d’échec du travail

3 = Chaque fois que le travail est terminé (quel que soit le résultat du travail)
notify_level_email int Masque de bits indiquant dans quelles circonstances un e-mail de notification doit être envoyé lorsqu’un travail se termine. Les valeurs possibles sont les mêmes que pour notify_level_eventlog.
notify_level_netsend int Masque de bits indiquant dans quelles circonstances un message réseau doit être envoyé lorsqu’un travail se termine. Les valeurs possibles sont les mêmes que pour notify_level_eventlog.
notify_level_page int Masque de bits indiquant dans quelles circonstances une page doit être envoyée lorsqu’un travail se termine. Les valeurs possibles sont les mêmes que pour notify_level_eventlog.
notify_email_operator sysname Nom d'adresse électronique de l'opérateur à avertir.
notify_netsend_operator sysname Nom de l'utilisateur ou de l'ordinateur utilisé pour envoyer les messages sur le réseau.
notify_page_operator sysname Nom de l'utilisateur ou de l'ordinateur utilisé pour envoyer une page.
delete_level int Masque de bits indiquant dans quelles circonstances le travail doit être supprimé lorsqu’un travail se termine. Les valeurs possibles sont les mêmes que pour notify_level_eventlog.
date_created datetime Date de création du travail.
date_modified datetime Date de dernière modification du travail.
version_number int Version du travail (mise à jour automatique à chaque modification).
last_run_date int Date du début de la dernière exécution du travail.
last_run_time int Heure du début de la dernière exécution du travail.
last_run_outcome int Résultat du travail lors de sa dernière exécution :

0 = Échec

1 = Réussi

3 = Annulé

5 = Inconnu
next_run_date int Date prévue pour la prochaine exécution du travail.
next_run_time int Heure prévue pour la prochaine exécution du travail.
next_run_schedule_id int Numéro d'identification de la prochaine exécution planifiée.
current_execution_status int État d’exécution actuel :

1 = Exécution

2 = Attente du thread

3 = Entre les nouvelles tentatives

4 = Inactif

5 = Suspendu

6 = Obsolète

7 = PerformingCompletionActions
current_execution_step sysname Étape d'exécution du travail en cours.
current_retry_attempt int Si le travail est en cours d'exécution et que l'étape est effectuée plusieurs fois, ce paramètre correspond à la tentative en cours.
has_step int Nombre d'étapes du travail.
has_schedule int Nombre de planifications d'un travail.
has_target int Nombre de serveurs cibles d'un travail.
type int Type du travail.

1 = Travail local.

2 = travail multiserveur.

0 = Le travail n’a pas de serveur cible.

Si job_id ou job_name est spécifié, sp_help_job retourne ces jeux de résultats supplémentaires pour les étapes de travail, les planifications de travaux et les serveurs cibles de travail.

Voici le jeu de résultats des étapes de travail :

Nom de la colonne Type de données Description
step_id int Identificateur unique de cette étape (pour ce travail).
step_name sysname Nom de l'étape
Sous-système nvarchar(40) Sous-système dans lequel la commande d'étape doit être exécutée.
command nvarchar(3200) Commande à exécuter.
flags nvarchar(4000) Masque de bits des valeurs qui contrôlent le comportement de l’étape.
cmdexec_success_code int Pour une étape CmdExec , il s’agit du code de sortie du processus d’une commande réussie.
on_success_action nvarchar(4000) Que faire si l'étape est exécutée correctement :

1 = Quitter avec succès.

2 = Quitter en cas d’échec.

3 = Passer à l’étape suivante.

4 = Accéder à l’étape.
on_success_step_id int Si on_success_action a la valeur 4, cela indique l’étape suivante à exécuter.
on_fail_action nvarchar(4000) Action à exécuter si l'exécution de l'étape échoue. Les valeurs sont les mêmes que pour on_success_action.
on_fail_step_id int Si on_fail_action a la valeur 4, cela indique l’étape suivante à exécuter.
server sysname Réservé.
database_name sysname Pour une étape Transact-SQL, il s’agit de la base de données dans laquelle la commande s’exécute.
database_user_name sysname Pour une étape Transact-SQL, il s’agit du contexte utilisateur de la base de données dans lequel la commande s’exécute.
retry_attempts int Nombre de tentatives maximum de la commande (si elle échoue) avant que l'étape soit considérée comme un échec.
retry_interval int Intervalle (en minutes) entre chaque tentative.
os_run_priority varchar(4000) Réservé.
output_file_name varchar(200) Fichier dans lequel la sortie de commande doit être écrite (étapes Transact-SQL et CmdExec uniquement).
last_run_outcome int Résultat de l'étape lors de sa dernière exécution.

0 = Échec

1 = Réussi

3 = Annulé

5 = Inconnu
last_run_duration int Durée (en secondes) de l'étape lors de sa dernière exécution.
last_run_retries int Nombre de tentatives de la commande lors de la dernière exécution de l'étape.
last_run_date int Date de début de la dernière exécution de l'étape.
last_run_time int Heure de début de la dernière exécution de l'étape.
proxy_id int Proxy pour les étapes du travail.

Voici le jeu de résultats des planifications de travail.

Nom de la colonne Type de données Description
schedule_id int Identificateur de la planification (unique pour tous les travaux).
schedule_name sysname Nom de la planification (unique pour ce travail).
activé int Indique si la planification est active (1) ou non (0).
freq_type int Valeur indiquant la fréquence d'exécution du travail.

1 = Une fois

4 = Quotidienne

8 = Hebdomadaire

16 = mensuel

32 = mensuel, par rapport au freq_interval

64 = Exécuter au démarrage du service SQLServerAgent .
freq_interval int Jours d’exécution du travail. La valeur dépend de la valeur de freq_type. Pour plus d’informations, consultez sp_add_schedule (Transact-SQL)
freq_subday_type Int Unités pour freq_subday_interval. Pour plus d’informations, consultez sp_add_schedule (Transact-SQL)
freq_subday_interval int Nombre de freq_subday_type périodes à effectuer entre chaque exécution du travail. Pour plus d’informations, consultez sp_add_schedule (Transact-SQL)
freq_relative_interval int L’occurrence du travail planifié de l’freq_interval dans chaque mois. Pour plus d’informations, consultez sp_add_schedule (Transact-SQL)
freq_recurrence_factor int Nombre de mois devant s'écouler entre les exécutions planifiées du travail.
active_start_date int Date de démarrage de l'exécution du travail.
active_end_date int Date de fin d’exécution du travail.
active_start_time int Délai de début de l’exécution du travail sur active_start_date.
active_end_time int Délai de fin de l’exécution du travail sur active_end_date.
date_created datetime Date de création de la planification.
schedule_description nvarchar(4000) Description en anglais de la planification (sur demande).
next_run_date int Date à laquelle la planification va lancer l'exécution du travail.
next_run_time int Heure à laquelle la planification va lancer l'exécution du travail.
schedule_uid uniqueidentifier Identificateur de la planification.
job_count int Retourne le nombre de travaux qui référencent cette planification.

Jeu de résultats pour les serveurs cibles de travaux.

Nom de la colonne Type de données Description
server_id int Identificateur du serveur cible.
server_name nvarchar(30) Nom de l'ordinateur du serveur cible.
enlist_date datetime Date d'inscription du serveur cible sur le serveur maître.
last_poll_date datetime Date à laquelle le serveur cible a interrogé pour la dernière fois le serveur maître.
last_run_date int Date du début de la dernière exécution du travail sur ce serveur cible.
last_run_time int Heure du début de la dernière exécution du travail sur ce serveur cible.
last_run_duration int Durée du travail lors de sa dernière exécution sur ce serveur cible.
last_run_outcome tinyint Résultat du travail à l'issue de sa dernière exécution sur ce serveur.

0 = Échec

1 = Réussi

3 = Annulé

5 = Inconnu
last_outcome_message nvarchar(1024) Message indiquant le résultat du travail lors de sa dernière exécution sur ce serveur cible.

Autorisations

Par défaut, les membres du rôle serveur fixe sysadmin peuvent exécuter cette procédure stockée. Les autres utilisateurs doivent disposer de l'un des rôles de base de données fixes suivants de SQL Server Agent dans la base de données msdb :

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Pour en savoir plus sur les autorisations de ces rôles, consultez Rôles de base de données fixes de l'Agent SQL Server.

Les membres de SQLAgentUserRole peuvent uniquement afficher les travaux qu’ils possèdent. Les membres de sysadmin, SQLAgentReaderRole et SQLAgentOperatorRole peuvent afficher tous les travaux locaux et multiserveurs.

Exemples

R. Création de la liste des informations sur tous les travaux

L'exemple suivant exécute la procédure sp_help_job sans aucun paramètre afin que des informations sur tous les travaux définis dans la base de données msdb soient retournées.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job ;  
GO  

B. Création de la liste des informations pour les travaux correspondant à un critère spécifique

L'exemple suivant répertorie les informations sur les travaux multiserveurs détenus par françoisa lorsque les travaux sont activés et exécutés.

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. Création de la liste de tous les aspects des informations pour un travail

L'exemple suivant répertorie tous les aspects des informations pour le travail NightlyBackups.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_job  
    @job_name = N'NightlyBackups',  
    @job_aspect = N'ALL' ;  
GO  

Voir aussi

sp_add_job (Transact-SQL)
sp_delete_job (Transact-SQL)
sp_update_job (Transact-SQL)
Procédures stockées système (Transact-SQL)