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 :

Exécuter une proc xp_ sans les droits sysadmin


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Points : 69
    Points
    69
    Par défaut Exécuter une proc xp_ sans les droits sysadmin
    Bonjour,

    Nous avons le cas d'un compte applicatif qui n'aura pas les droits sysadmin et qui doit exécuter la procédure stockée XP_DIRTREE (liste les répertoires présents en fonction d'un chemin spécifié).
    Nous avons essayé avec un compte crédential et avec "WITH EXECUTE AS" (car elle est utilisée dans une procédure stockée) mais cela ne fonctionne pas.
    Dans le cas du EXECUTE AS, nous avons cette erreur :
    Msg 916, Level 14, State 1, Procedure LISTE_FICHIER, Line 0
    The server principal "xxxxx\moncompte" is not able to access the database "MABASE" under the current security context.
    Nous sommes en SQL 2005.

    Si quelqu'un a une idée ?

    Christian

  2. #2
    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
    Sur 2008 (et 2005 il me semble) la procédure stockée étendue peut être exécutée par n'importe qui (public a le privilège EXECUTE sur cette procédure dans la base de données master) par défaut .. ce qui n'est pas le cas de xp_cmdshell par exemple ... a moins que votre problème ne se situe pas là

    Quel droit avez vous sur cette procédure de votre côté ? Votre compte d'application est de quel type ? Windows ou SQL ?

    ++

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Il s'agit bien d'un compte SQL.
    J'ai tenté un droit d'exécution mais cela n'a rien changé. Par défault il avait déjà les droits d'exécution en effet.
    Le seul point c'est que cela ne retourne rien.
    Si je me connecte avec mon compte j'ai bien un jeu de résultat qui s'affiche (xp_dirtree 'c:\' par exemple va fonctionner) mais connecté avec ce compte applicatif je n'ai aucun jeu de résultat.
    Cette procédure stockée fait appel à une dll (xpstar90.dll).

    Peut être est-ce cela le souci ?

    christian

  4. #4
    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
    Effectivement même avec une impersonnalisation cela ne fonctionne pas.
    Je pense que le plus sage dans votre cas (car vous essayez d'utiliser une précodure non documentée) est :

    - soit d'utiliser xp_cmdshell de façon restreinte en utilisant un mécanisme d'impersonnalisation par exemple.
    - soit créer votre propre fonction SQL CLR

    ++

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Points : 69
    Points
    69
    Par défaut
    merci,
    on était en effet parti sur la fonction...

    Christian

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

Discussions similaires

  1. [shell] exécuter script sans les droits de lecture
    Par tiresias54 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 21/11/2012, 20h24
  2. Exécution d'une proc stock sans ramener les données
    Par Yomen dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/04/2008, 23h11
  3. Chown par sudo sur fichiers sans les droits
    Par tilleul dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 13/06/2006, 14h23
  4. Réponses: 4
    Dernier message: 02/05/2006, 12h08
  5. Réponses: 7
    Dernier message: 10/02/2006, 15h22

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