Share via


sp_help_jobhistory (Transact-SQL)

S’applique à :SQL Server

Fournit des informations sur les travaux pour les serveurs dans le domaine d'administration multiserveur.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_help_jobhistory
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @step_id = ] step_id ]
    [ , [ @sql_message_id = ] sql_message_id ]
    [ , [ @sql_severity = ] sql_severity ]
    [ , [ @start_run_date = ] start_run_date ]
    [ , [ @end_run_date = ] end_run_date ]
    [ , [ @start_run_time = ] start_run_time ]
    [ , [ @end_run_time = ] end_run_time ]
    [ , [ @minimum_run_duration = ] minimum_run_duration ]
    [ , [ @run_status = ] run_status ]
    [ , [ @minimum_retries = ] minimum_retries ]
    [ , [ @oldest_first = ] oldest_first ]
    [ , [ @server = ] N'server' ]
    [ , [ @mode = ] 'mode' ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

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

[ @job_name = ] N’job_name'

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

[ @step_id = ] step_id

Numéro d’identification de l’étape. @step_id est int, avec la valeur par défaut NULL.

[ @sql_message_id = ] sql_message_id

Numéro d’identification du message d’erreur retourné par SQL Server lors de l’exécution du travail. @sql_message_id est int, avec la valeur par défaut NULL.

[ @sql_severity = ] sql_severity

Niveau de gravité du message d'erreur renvoyé par SQL Server lors de l'exécution du travail. @sql_severity est int, avec la valeur par défaut NULL.

[ @start_run_date = ] start_run_date

Date de début de l'exécution du travail. @start_run_date est int, avec la valeur par défaut NULL. @start_run_date doit être entré dans le formulaire yyyyMMdd, où yyyy il s’agit d’une année à quatre caractères, MM est un nom de mois à deux caractères et dd est un nom de jour à deux caractères.

[ @end_run_date = ] end_run_date

Date de fin de l'exécution du travail. @end_run_date est int, avec la valeur par défaut NULL. @end_run_date devez être entré dans le formulaire yyyyMMdd, où yyyy il s’agit d’une année à quatre caractères, MM est un nom de mois à deux caractères et dd est un nom de jour à deux caractères.

[ @start_run_time = ] start_run_time

Heure du début d'exécution du travail. @start_run_time est int, avec la valeur par défaut NULL. @start_run_time doit être entré dans la forme HHmmss, où HH il s’agit d’une heure à deux caractères du jour, mm est une minute à deux caractères du jour et ss est une seconde de deux caractères du jour.

[ @end_run_time = ] end_run_time

Heure de fin d'exécution du travail. @end_run_time est int, avec la valeur par défaut NULL. @end_run_time doit être entré dans la forme HHmmss, où HH est une heure à deux caractères du jour, mm est une minute à deux caractères du jour, et ss est une seconde de deux caractères du jour.

[ @minimum_run_duration = ] minimum_run_duration

Durée minimale pour l'exécution du travail. @minimum_run_duration est int, avec la valeur par défaut NULL. @minimum_run_duration doit être entré dans la forme HHmmss, où HH est une heure à deux caractères du jour, mm est une minute à deux caractères du jour, et ss est une seconde de deux caractères du jour.

[ @run_status = ] run_status

État d’exécution du travail.@run_status est int et peut être l’une de ces valeurs.

Valeur Description
0 Échec
1 Réussi
2 Reprise (étape uniquement)
3 Annulé
4 Message en cours
5 Inconnu

[ @minimum_retries = ] minimum_retries

Nombre minimal de tentatives d'exécution d'un travail. @minimum_retries est int, avec la valeur par défaut NULL.

[ @oldest_first = ] oldest_first

Indique s’il faut d’abord présenter la sortie avec les travaux les plus anciens. @oldest_first est int, avec la valeur par défaut 0.

  • 0 présente d’abord les travaux les plus récents.
  • 1 présente d’abord les travaux les plus anciens.

[ @server = ] N’server'

Nom du serveur sur lequel le travail a été effectué. @server est sysname, avec la valeur par défaut NULL.

[ @mode = ] 'mode'

Spécifie si SQL Server imprime toutes les colonnes dans le jeu de résultats (FULL) ou un résumé (SUMMARY) des colonnes. @mode est varchar(7), avec la valeur par défaut SUMMARY.

Valeurs des codes de retour

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

Jeu de résultats

La liste de colonnes réelle dépend de la valeur de @mode. L’ensemble de colonnes le plus complet est illustré dans le tableau suivant et est retourné lorsque @mode est FULL.

Nom de la colonne Type de données Description
instance_id int Numéro d'identification de l'entrée d'historique.
job_id uniqueidentifier Numéro d’identification du travail.
job_name sysname Nom du travail.
step_id int Numéro d’identification d’étape (0 pour un historique des travaux).
step_name sysname Nom de l’étape (NULL pour un historique des travaux).
sql_message_id int Pour une étape Transact-SQL, le numéro d’erreur Transact-SQL le plus récent rencontré lors de l’exécution de la commande.
sql_severity int Pour une étape Transact-SQL, la gravité d’erreur Transact-SQL la plus élevée rencontrée lors de l’exécution de la commande.
message nvarchar(1024) Message d'historique d'étape ou de travail.
run_status int Résultat du travail ou de l'étape.
run_date int Date de début d'exécution du travail ou de l'étape.
run_time int Heure de début d'exécution du travail ou de l'étape.
run_duration int Temps écoulé dans l’exécution du travail ou de l’étape au HHmmss format.
operator_emailed nvarchar(20) Opérateur qui a été envoyé par e-mail concernant ce travail (est NULL pour l’historique des étapes).
operator_netsent nvarchar(20) Opérateur qui a été envoyé un message réseau concernant ce travail (pour NULL l’historique des étapes).
operator_paged nvarchar(20) Opérateur qui a été paginé concernant ce travail (est NULL pour l’historique des étapes).
retries_attempted int Nombre de reprises de l'étape (0 pour un historique d'étape).
server nvarchar(30) Serveur sur lequel est exécutée l'étape ou le travail. Est toujours (local).

Notes

sp_help_jobhistory retourne un rapport avec l’historique des travaux planifiés spécifiés. Si aucun paramètre n'est précisé, le rapport contient l'historique de tous les travaux planifiés.

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 du rôle de base de données SQLAgentUserRole peuvent uniquement afficher l’historique des travaux qu’ils possèdent.

Exemples

R. Répertorier toutes les informations de travail d’un travail

L'exemple ci-dessous répertorie toutes les informations du travail NightlyBackups.

USE msdb;
GO

EXEC dbo.sp_help_jobhistory
    @job_name = N'NightlyBackups';
GO

B. Répertorier les informations relatives aux travaux qui correspondent à certaines conditions

L'exemple ci-dessous imprime toutes les colonnes et toutes les informations de tous les travaux et toutes les étapes de travail qui ont échoué avec un message d'erreur 50100 (message d'erreur personnalisé) et un degré de gravité égal à 20.

USE msdb;
GO

EXEC dbo.sp_help_jobhistory
    @sql_message_id = 50100,
    @sql_severity = 20,
    @run_status = 0,
    @mode = N'FULL';
GO