Lorsque vous créez une tâche de l'Agent SQL Server pour la première fois, vous souhaiterez peut-être effectuer un test rapide pour voir si elle va réellement s'exécuter sans aucun problème.
C'est assez simple lorsque vous utilisez l'interface graphique SSMS, mais comment le faites-vous dans T-SQL ?
Réponse :Le sp_start_job
procédure stockée.
Exemple
Voici un exemple pour illustrer :
USE msdb;
GO
EXEC sp_start_job N'BackupKrankyKranesDB';
GO
Dans ce cas, j'ai exécuté un travail appelé BackupKrankyKranesDB
.
La procédure ne renvoie aucun jeu de résultats. Cependant, si vous l'exécutez dans SSMS, vous verrez peut-être un message comme celui-ci :
Job 'BackupKrankyKranesDB' started successfully. Completion time: 2020-12-13T19:54:18.3503521-08:00
Paramètres
Vous pouvez également fournir les noms des paramètres. Dans ce cas, j'aurais pu faire ceci :
USE msdb;
GO
EXEC sp_start_job @job_name = N'BackupKrankyKranesDB';
GO
Vous pouvez fournir le nom du travail ou l'ID du travail (mais pas les deux). L'ID de la tâche est un identifiant unique avec une valeur par défaut de NULL
.
Par conséquent, nous aurions pu faire ceci :
USE msdb;
GO
EXEC sp_start_job @job_id = '4FAE7031-36E8-4934-81E6-0D561F375627';
GO
Il s'agit de l'ID de travail du travail ci-dessus. Évidemment, vous devrez utiliser l'ID du travail que vous devez exécuter. Vous pouvez utiliser le sp_help_job
procédure stockée pour obtenir l'ID du travail.
La syntaxe
La syntaxe réelle ressemble à ceci :
sp_start_job
{ [@job_name =] 'job_name'
| [@job_id =] job_id }
[ , [@error_flag =] error_flag]
[ , [@server_name =] 'server_name']
[ , [@step_name =] 'step_name']
[ , [@output_flag =] output_flag]
Voir sp_start_job
sur le site Web de Microsoft pour une explication de chaque argument.
Afficher l'historique des tâches
Maintenant que nous avons exécuté le travail, nous pouvons maintenant utiliser sp_help_jobhistory
pour vérifier qu'il a été ajouté à l'historique des travaux :
EXEC sp_help_jobhistory
@job_name = 'BackupKrankyKranesDB',
@mode = 'FULL';
Utilisation de @mode = 'FULL'
garantit que nous obtenons des informations plus détaillées.
Voici ce que j'ai obtenu après avoir exécuté la tâche :
Voir sp_help_jobhistory
sur le site Web de Microsoft pour plus d'informations sur cette procédure stockée.
Voir également 4 façons d'obtenir l'historique des tâches SQL Server pour plus d'options pour renvoyer l'historique des tâches.