sp_help_job (Transact-SQL)
Retourne des informations sur les travaux utilisés par l'Agent SQL Server pour effectuer des opérations automatisées dans SQL Server.
Conventions de la syntaxe de 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 de type uniqueidentifier, avec NULL comme valeur par défaut.[ @job_name =] 'job_name'
Nom du travail. job_name est de type sysname, avec NULL comme valeur par défaut.[!REMARQUE]
Vous devez définir la valeur de job_id ou de job_name, mais pas les deux valeurs à la fois.
[ @job_aspect =] 'job_aspect'
Attribut du travail à afficher. job_aspect est de type varchar(9), avec NULL comme valeur par défaut et peut prendre l'une de ces valeurs.Valeur
Description
ALL
Informations sur l'aspect du travail.
JOB
Informations sur le travail.
SCHEDULES
Informations sur la planification.
STEPS
Informations sur l'étape du travail
TARGETS
Informations sur la cible
[ @job_type =] 'job_type'
Type des travaux à inclure dans le rapport. job_type est de type varchar(12), avec NULL comme valeur par défaut. job_type peut être LOCAL ou MULTI-SERVER.[ @owner_login_name =] 'login_name'
Nom de la connexion du propriétaire du travail. login_name est de type sysname, avec NULL comme valeur par défaut.[ @subsystem =] 'subsystem'
Nom du sous-système. subsystem est de type nvarchar(40), avec NULL comme valeur par défaut.[ @category_name =] 'category'
Nom de la catégorie. category est de type sysname, avec NULL comme valeur par défaut.[ @enabled =] enabled
Nombre qui indique si les informations sont affichées pour les travaux activés ou les travaux désactivés. enabled est de type tinyint, avec NULL comme valeur par défaut. 1 indique que les travaux sont activés tandis que 0 indique que les travaux sont désactivés.[ @execution_status =] status
État de l'exécution des travaux. status est de type int, avec NULL comme valeur par défaut et peut prendre 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 pour comparer date_created et date_modified. date_comparison est de type char(1) et peut être =, < ou >.[ @date_created =] date_created
Date de création du travail. date_createdest de type datetime, avec NULL comme valeur par défaut.[ @date_last_modified =] date_modified
Date de la dernière modification du travail. date_modified est de type datetime, avec NULL comme valeur par défaut.[ @description =] 'description_pattern'
Description du travail. description_pattern est de type nvarchar(512), avec NULL comme valeur par défaut. description_pattern peut comporter des caractères génériques de SQL Server pour permettre des correspondances entre modèles.
Valeurs des codes renvoyés
0 (succès) 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 colonne |
Type de données |
Description |
---|---|---|
job_id |
uniqueidentifier |
Identificateur 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é 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. |
catégorie |
sysname |
Catégorie du travail. |
owner |
sysname |
Propriétaire du travail. |
notify_level_eventlog |
int |
Masque binaire indiquant les circonstances entraînant la consignation d'une notification d'événement dans le journal des applications Microsoft Windows. Peut prendre l'une des valeurs suivantes : 0 = Jamais 1 = En cas de succès du travail 2 = En cas d'échec du travail 3 = À la fin du travail (quelle que soit l'issue du travail) |
notify_level_email |
int |
Masque de bits indiquant les circonstances entraînant l'envoi d'un courrier électronique en fin de travail. Les valeurs possibles sont les mêmes que pour notify_level_eventlog. |
notify_level_netsend |
int |
Masque de bits indiquant les circonstances entraînant l'envoi d'un message sur le réseau en fin de travail. Les valeurs possibles sont les mêmes que pour notify_level_eventlog. |
notify_level_page |
int |
Masque de bits indiquant les circonstances entraînant l'envoi d'une page en fin de travail. 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 entraînant la suppression du travail en fin de travail. 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 = Succès 3 = Annulation 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 de l'exécution en cours. |
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 de travail 1 = Travail local. 2 = Travail multiserveur. 0 = Travail sans serveur cible. |
Si job_id ou job_name est précisé, sp_help_job retourne ces jeux de résultats supplémentaires pour les étapes, les planifications et les serveurs cibles des travaux.
Voici le jeu de résultats des étapes de travail :
Nom de 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 contrôlant l'étape. |
cmdexec_success_code |
int |
Pour une étape CmdExec, il s'agit du code de sortie d'une commande exécutée correctement. |
on_success_action |
nvarchar(4000) |
Que faire si l'étape est exécutée correctement : 1 = Sortie avec succès 2 = Sortie avec échec 3 = Passer à l'étape suivante 4 = Passer à l'étape. |
on_success_step_id |
int |
Si on_success_action a la valeur 4, ce paramètre indique la prochaine étape qui doit être exécutée. |
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, ce paramètre indique la prochaine étape qui doit être exécutée. |
server |
sysname |
Réservé. |
database_name |
sysname |
Pour une étape Transact-SQL, c'est la base de données dans laquelle la commande sera exécutée. |
database_user_name |
sysname |
Pour une étape Transact-SQL, c'est le contexte de l'utilisateur de la base de données dans lequel la commande est exécutée. |
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 le résultat de la commande doit être écrit (é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 = Succès 3 = Annulation 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 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 = Quotidiennement 8 = Hebdomadairement 16 = Mensuellement 32 = Mensuellement, en fonction de freq_interval. 64 = Lancé 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 périodes freq_subday_type entre chaque exécution planifiée du travail. Pour plus d'informations, consultez sp_add_schedule (Transact-SQL) |
freq_relative_interval |
int |
Nombre d'exécutions planifiées du travail à freq_interval par 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 de l'exécution du travail. |
active_start_time |
int |
Heure de démarrage de l'exécution du travail à la date active_start_date. |
active_end_time |
int |
Heure de fin d'exécution du travail à la date 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 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 = Succès 3 = Annulation 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
Seuls les membres du rôle de 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 SQL Server Agent suivants 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 du rôle SQLAgentUserRole peuvent consulter uniquement les travaux dont ils sont propriétaires. Les membres de sysadmin, de SQLAgentReaderRole et de SQLAgentOperatorRole peuvent consulter tous les travaux locaux et multiserveurs.
Exemple
A.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