Trouver et changer le propriétaire d’un job de l’Agent SQL Server

Fonctionnalité pratique pour ne pas dire nécessaire, l’Agent SQL Server est le planificateur de tâches de SQL Server.
Il permet d’effectuer des tâches très variées, qui vont de l’exécution d’une procédure stockée à celle d’un script PowerShell en passant par celle d’un package SQL Server Integration Services et bien d’autres, et ce, à intervalles de temps réguliers et planifiés.

Côté sécurité, cette fonctionnalité n’est pas en reste, puisque tout job a un propriétaire.
Il est donc requis de vérifier que le propriétaire d’un job à les droits nécessaires à l’exécution de celui-ci.

Cela peut se faire de deux façons : par l’interface graphique de SQL Server Management Studio, ou bien en requêtes.
Voyons cela plus en détails :

=> Par des requêtes

Voici la requête qui permet de trouver le propriétaire de tous les jobs :

1
2
3
4
5
6
7
8
9
-------------------------------
-- Nicolas Souquet - 27/11/2011
-------------------------------
SELECT    J.name AS job_name
    , SP.name AS job_owner_name
FROM    msdb.dbo.sysjobs AS J
INNER JOIN  sys.server_principals AS SP
      ON SP.sid = J.owner_sid
WHERE    J.name = 'monJob'

En dé-commentant la dernière ligne, on peut trouver le propriétaire d’un job en particulier.

Si l’on souhaite le changer, il suffit d’exécuter :

1
2
3
4
5
6
UPDATE    msdb.dbo.sysjobs
SET    owner_sid = SP.sid
FROM    msdb.dbo.sysjobs AS J
CROSS JOIN  sys.server_principals AS SP
WHERE    J.name = 'monJob'
AND    SP.name = 'nomDeLogin'

Et le tour est joué ;)

=> Par l’interface graphique :

Il suffit de se rendre dans les propriétés du job en question :

Une fenêtre s’ouvre alors, montrant le propriétaire du job dans la saisie texte à la même étiquette :

On peut dès lors changer ce propriétaire à l’aide du bouton de parcours des utilisateurs, (les 3 points de suspension à droite ce cette saisie) ou bien saisir un nom de connexion existant.

On trouve les connexions existantes toujours dans l’explorateur d’objets (F8) :

Bonne gestion des connexions et des jobs ;)

ElSüket

Laisser un commentaire