IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Gestion des droits utilisateurs [2014]


Sujet :

Administration SQL Server

  1. #1
    Membre habitué Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Points : 176
    Points
    176
    Par défaut Gestion des droits utilisateurs
    Bonjour,

    Je souhaiterais donner les droits d'édition des jobs SQL à mes utilisateurs (développeurs).
    Aujourd'hui, ils peuvent seulement voir les jobs qui sont sur le serveur et les exécuter mais ils ne peuvent pas les éditer (pas possibilité de changer la planification, le contenu du job, ou de modifier les étapes).
    Remarque : Ils possèdent seulement le droits de créer des jobs à leur nom (car je les ai ajouté dans les rôles de la msdb : "RSExecRole" et "SQLAgentUserRole" ).

    Mais connaissez vous le moyen de leur octroyer ce droit d'édition sur des jobs pour lesquels ils ne sont pas propriétaires svp ?
    Merci d'avance.

    Microsoft SQL Server 2014 - 12.0.4100.1 (X64)
    Apr 20 2015 17:29:27
    Copyright (c) Microsoft Corporation
    Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
    -> N'oubliez pas de mettre résolu
    http://collinalexis.free.fr

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Il faut que ces utilisateurs soient membre :

    • soit du rôle SQLAgentReaderRole si vous souhaitez qu'ils ne puissent modifier que les jobs dont il sont les propriétaires;
    • soit du rôle SQLAgentOperatorRole (c'est le rôle qui a le plus de privilèges) si vous souhaitez qu'ils puissent éditer tout job de l'instance.


    @++

  3. #3
    Membre habitué Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Points : 176
    Points
    176
    Par défaut
    Merci pour votre réponse.
    En effet, j'avais trouvé cette information sur le site de microsoft https://msdn.microsoft.com/fr-fr/lib...=sql.120).aspx
    Mais cela ne suffit pas, comme c'est indiqué, les utilisateurs membre du role "SQLAgentOperatorRole" ne peuvent pas modifier des travaux dont ils ne sont pas propriétaires et moi c'est ce que je voudrais autoriser
    -> N'oubliez pas de mettre résolu
    http://collinalexis.free.fr

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Dans ce cas, le propriétaire du job ne devrait-il pas être le compte sa ?

    @++

  5. #5
    Membre habitué Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Points : 176
    Points
    176
    Par défaut "Solution"
    Bonjour,

    Si l'utilisateur du job est "sa" cela ne change rien, mes autres utilisateurs ne peuvent toujours pas modifier les jobs dont ils ne sont pas propriétaire.

    Du coup, j'ai trouvé un moyen pour que mes utilisateur deviennent propriétaires du ou des jobs qui les intéressent et puissent faire leur modification.
    3 étapes pour réalisé cela :
    1. Créer une table contenant la liste des jobs
    2. Créer un job qui fait appel à la procédure msdb.dbo.sp_update_job
    3. Faire appel à ce job en ayant au préalable mis à jour la table


    La table se structure de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [JOB_NAME] [sysname] NOT NULL,
    [LOGIN_NAME] [sysname] NOT NULL,
    [DATE_MAJ] [datetime] NOT NULL,
    [FLAG_MAJ] [int] NOT NULL,
    Pour la première alimentation de la table j'ai utilisé le resultat de la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select * from msdb.dbo.sysjobs
    order by name

    Mon job ne comporte qu'une seule étape et elle contient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    DECLARE @JobName NVARCHAR(128);
    DECLARE @LoginName NVARCHAR(128);
    DECLARE JobCursor CURSOR FOR
    SELECT JOB_NAME, LOGIN_NAME 
    FROM MaTableContenantMesJobs
    WHERE FLAG_MAJ=1;
    OPEN JobCursor;
    FETCH NEXT FROM JobCursor INTO @JobName, @LoginName;
    WHILE @@FETCH_STATUS = 0
       BEGIN
    	  EXEC msdb.dbo.sp_update_job @job_name=@JobName, @owner_login_name=@LoginName
    	  UPDATE MaTableContenantMesJobs SET FLAG_MAJ=0 WHERE JOB_NAME=@JobName;
     
    	  FETCH NEXT FROM JobCursor INTO @JobName, @LoginName;
       END;
    CLOSE JobCursor;
    DEALLOCATE JobCursor;
    GO
    Enfin, j'ai intégré dans une application d'Outillage BDD un module que j'ai développé en C# afin qu'ils puissent simplement sélectionner le job qui les intéressent et devenir propriétaire du job.

    Mais, sinon il suffit d'exécuter un ordre SQL d'Update sur la table créée à l'étape 1 du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Update MaTableContenantMesJobs set LOGIN_NAME='monUtilisateurWindowsOuSQL', DATE_MAJ=CURRENT_TIMESTAMP, FLAG_MAJ=1 where JOB_NAME=N'LeJobSouhaitéParUtilisateur';
    Puis une fois l'update fait sur cette table, il faut exécuter le job qui permet de faire le changement de propriétaire en faisant appel à la procédure "msdb.dbo.sp_start_job" et en lui passant en paramètre le nom du job "DevenirPropriétaireTravailSQL".

    Voilà,
    J'espère que cela pourra resservir.
    -> N'oubliez pas de mettre résolu
    http://collinalexis.free.fr

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Cela mériterait un article. Qu'en pensez-vous ?

    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SBI] Gestion des droits utilisateurs
    Par booobdez dans le forum SpagoBI
    Réponses: 6
    Dernier message: 11/06/2009, 11h00
  2. gestion des droits utilisateurs
    Par c-top dans le forum Administration système
    Réponses: 9
    Dernier message: 03/05/2009, 22h03
  3. [BO 5.1.8] Renseignements gestion des droits utilisateurs
    Par ninou58 dans le forum Administration-Migration
    Réponses: 5
    Dernier message: 17/07/2008, 22h24
  4. gestion des droits utilisateurs par vba
    Par laurent.w dans le forum Sécurité
    Réponses: 14
    Dernier message: 17/01/2007, 08h09
  5. gestion des droits utilisateurs struts
    Par ijklm dans le forum Struts 1
    Réponses: 1
    Dernier message: 18/05/2006, 19h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo