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.

Icône Lien de rubriqueConventions 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. L'argument job_id est de type uniqueidentifier, avec NULL comme valeur par défaut.

  • [ @job_name =] 'job_name'
    Nom du travail. L'argument 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. L'argument job_aspect est de type varchar(9) et sa valeur par défaut est NULL. Il peut prendre l'une des valeurs suivantes.

    Value

    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. L'argument 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 et sa valeur par défaut est NULL.

  • [ @subsystem =] 'subsystem'
    Nom du sous-système. L'argument 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
    Chiffre indiquant si les travaux sont activés ou désactivés. enabled est de type tinyint et sa valeur par défaut est NULL. 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. L'argument status est de type int et sa valeur par défaut est NULL. Il peut prendre l'une des valeurs suivantes.

    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 à laquelle le travail a été créé. date_createdest de type datetime et sa valeur par défaut est NULL.

  • [ @date_last_modified =] date_modified
    Dernière date à laquelle le travail a été modifié. date_modified est de type datetime et sa valeur par défaut est NULL.

  • [ @description =] 'description_pattern'
    Description du travail. description_pattern est de type nvarchar(512) et sa valeur par défaut est NULL. 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

category

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 d'application 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. Affichage 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. Affichage 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. Affichage 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