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

MS SQL Server Discussion :

droit de lecture sur les procédures stockées [2008R2]


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 54
    Points
    54
    Par défaut droit de lecture sur les procédures stockées
    Bonjour,

    Je cherche à autoriser un groupe de personnes à accéder en "Lecture seule" aux procédures stockées (NomBD=> Programmability => Stored Procedures) d'une base de données.

    En donnant uniquement le droit db_datareader sur une base de données, aucun utilisateur n'a accès aux procédures stockées, je suis obligé de donner soit le droit ddl_admin ou soit le droit db_securityadmin.

    Est-ce que vous savez s'il existe un moyen de donner uniquement un accès en lecture sur les procédures stockées?

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Si par "accéder en lecture seule" vous voulez dire que le groupe doit pouvoir voir le code de la procédure mais pas la modifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GRANT VIEW DEFINITION ON LaProcedure TO LeGroupe

  3. #3
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Sinon il faut faire un GRANT EXECUTE sur chaque procédure stockée qui ne fait pas d'écriture mais il faut le déterminer manuellement je pense. Je ne connais pas de méthode automatique.
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    Je vous remercie pour tous les deux pour votre retour.

    Je pense que la solution de aieeeuuuuu est la plus adaptée car je souhaite effectivement que le groupe doit pouvoir voir uniquement le code de la procédure sans pouvoir la modifier.

    Je vais tester cette solution et si je trouve une manière automatique de faire un grant view sur un ensemble de procédure je n'hésiterai pas à vous en faire part.

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    vous voulez le faire pour toutes les procédures d'un schéma ou d'un base ?

  6. #6
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Dans ce cas il vaut mieux créer un rôle de bases de données et octroyer le privilège VIEW DEFINITION (comme précisé par aieeeuuuuu) à ce rôle.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE @sql VARCHAR(MAX);
    SET @sql = '';
     
    SELECT @sql = @sql +  'GRANT VIEW DEFINITION ON [' + s.name + '].[' + p.name '] TO role;' + CHAR(13)
    FROM sys.procedures AS p
     JOIN sys.schemas AS S
      ON P.schema_id = S.schema_id
     
    EXEC(@sql);
    ++

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Oui mikedavem, j'ai créé un un rôle sur chaque base de données, puis j'ai octroyé le privilège VIEW DEFINITION

    Je vous remercie à tous pour votre aide

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

Discussions similaires

  1. Petite question sur les procédures stockées
    Par Jobard81 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 10/11/2008, 16h15
  2. Livre sur les procédures stockées
    Par infosteph dans le forum Livres
    Réponses: 0
    Dernier message: 14/04/2008, 15h50
  3. besoin de conseil sur les procédures stockées et vues.
    Par zenfantasy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/11/2007, 21h41
  4. Demande infos sur les procédures stockées
    Par VILPELLET dans le forum SQL
    Réponses: 3
    Dernier message: 15/10/2007, 14h27
  5. Informations sur les procédures stockées
    Par jfphan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/01/2004, 14h30

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