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 = Jamais1 = Lorsqu’un travail réussit2 = En cas d’échec du travail3 = 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 = Échec1 = Réussite3 = 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écution2 = Attente du thread3 = Entre nouvelles tentatives4 = Inactif5 = Suspendu6 = Obsolète7 = 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 4 le 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 4 le 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 = Échec1 = Réussite3 = 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 fois4 = Quotidien8 = Hebdomadaire16 = Mensuel32 = 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 = Échec1 = Réussite3 = 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