2017-02-22 2 views
2

Je travaille avec un script de migration hérité qui a été configuré pour ajouter un travail (avec un certain nombre d'étapes) à un serveur SQL. J'essaie de construire un semblant de re-runable sans complètement exploser.Requête pour vérifier si le travail appartient déjà à jobserver dans SQL Server

Cependant, je suis maintenant à cette ligne:

EXEC @ReturnCode = msdb.dbo.sp_add_jobserver 
         @job_id = @jobId, @server_name = N'(local)' 

Si le travail appartient déjà au serveur local, cette ligne d'erreur. Il est très possible que cela puisse être exécuté plusieurs fois.

Y at-il une question que je pouvais courir pour vérifier si un emploi appartient déjà au niveau local (ou tout autre servername?)

Répondre

2

trouvé ma solution.

IF NOT EXISTS(SELECT * 
       FROM msdb.dbo.sysjobservers 
       WHERE (job_id = @myJobId AND server_id = 0))