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 = ] 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' ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Numéro d’identification du travail. @job_id est uniqueidentifier, avec la valeur par défaut NULL.

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_name = ] N’job_name'

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

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 du travail à afficher. @job_aspect est varchar(9) et peut être l’une de ces valeurs.

Valeur Description
ALL Informations sur l'aspect du travail.
JOB Informations sur le poste
SCHEDULES Informations sur la planification.
STEPS Informations sur l'étape du travail
TARGETS Informations sur la cible

[ @job_type = ] 'job_type'

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

[ @owner_login_name = ] N’owner_login_name'

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

[ @subsystem = ] N’sous-système'

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

[ @category_name = ] N’category_name'

Nom de la catégorie. @category_name est sysname, avec la valeur par défaut NULL.

[ @enabled = ] activé

Nombre qui indique si les informations sont affichées pour les travaux activés ou les travaux désactivés. @enabled est tinyint, avec une valeur par défaut de NULL.

  • 1 indique les travaux activés.
  • 0 indique les travaux désactivés.

[ @execution_status = ] execution_status

État de l'exécution des travaux. @execution_status est int et peut être l’une de ces valeurs.

Valeur Description
0 Retourne uniquement les travaux qui ne sont pas inactifs ou 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_comparator'

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

[ @date_created = ] date_created

Date de création du travail. @date_created est datetime, avec la valeur par défaut NULL.

[ @date_last_modified = ] date_last_modified

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

[ @description = ] N’description'

Description du travail. @description est nvarchar(512), avec la valeur par défaut NULL. @description pouvez inclure les caractères génériques pour la mise en correspondance des modèles.

Valeurs des codes de retour

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

Jeu 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.
enabled tinyint Indique si le travail est activé, afin qu’il puisse s’exécuter.
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.
owner sysname Propriétaire du travail.
notify_level_eventlog int Masque de bits indiquant les circonstances dans lesquelles 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 = Lorsqu’un travail réussit
2 = En cas d’échec du travail
3 = Chaque fois que le travail se termine (quel que soit le résultat du travail)
notify_level_email int Masque de bits indiquant les circonstances dans lesquelles un e-mail de notification doit être envoyé lorsqu’un travail est terminé. Les valeurs possibles sont les mêmes que pour notify_level_eventlog.
notify_level_netsend int Masque de bits indiquant les circonstances dans lesquelles un message réseau doit être envoyé lorsqu’un travail est terminé. Les valeurs possibles sont les mêmes que pour notify_level_eventlog.
notify_level_page int Masque de bits indiquant les circonstances dans lesquelles une page doit être envoyée lorsqu’un travail est terminé. 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 les circonstances dans lesquelles le travail doit être supprimé lorsqu’un travail est terminé. 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éussite
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 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 a été retentée, il s’agit de la tentative de nouvelle tentative actuelle.
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 serveurs cibles.

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.
subsystem 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ôle le comportement de l'étape.
cmdexec_success_code int Pour une étape CmdExec , il s’agit du code de sortie de 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 = Passez à l’étape suivante.
4 = Passer à l’étape.
on_success_step_id int Si on_success_action c’est 4le cas, 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 c’est 4le cas, 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 base de données dans lequel la commande s’exécute.
retry_attempts int Nombre maximal de fois où la commande doit être retentée (en cas d’échec) avant l’échec de l’étape.
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éussite
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).
enabled 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 = Quotidien
8 = Hebdomadaire
16 = Mensuel
32 = Mensuel, par rapport au freq_interval
64 = Exécuter quand le service SQL Server Agent démarre.
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
freq_subday_type int Unités pour freq_subday_interval. Pour plus d’informations, consultez sp_add_schedule
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
freq_relative_interval int L’occurrence du travail planifié de chaque freq_interval mois. Pour plus d’informations, consultez sp_add_schedule
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 à la fin de l’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 Durée 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 La date suivante de la planification entraîne l’exécution du travail.
next_run_time int L’heure suivante de la planification entraîne 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éussite
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

Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE des autorisations pour n’importe quel utilisateur, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.

D’autres utilisateurs doivent disposer de l’un des rôles de base de données fixes SQL Server Agent suivants dans la msdb base de données :

  • 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. Répertorier les informations relatives aux travaux correspondant à des critères spécifiques

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. Répertorier tous les aspects des informations d’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