none
lister les utilisateurs d'une base RRS feed

  • Question

  • Bonjour,

    Je tente de chercher un utilisateur dénommé 'MyriamClient' dans ma bdd Myriam, pour pouvoir le détruire et ensuite le recréer. L'interpreteur de requête de mon serveur Sql Server 2005 me signale l'erreur suivante  :

    "Msg 15023, Niveau 16, État 1, Ligne 1 L'utilisateur, le groupe ou le rôle 'MyriamClient' existe déjà dans la base de données en cours."

    Comme s'il ignorait la 1ere partie de ma requête (Drop user ...).
    Voici ma requête :



    USE [Myriam]
    GO

    IF exists(select*from master..sysusers wherename='MyriamClient')
    DROP user  MyriamClient
    GO

    CREATE USER MyriamClient FORLOGIN MyriamClientBDD
    WITH DEFAULT_SCHEMA = MusicListing
    ;
    GO


    Plus généralement, je suis à la recherche de la requête qui permet de lister tous les utilisateurs d'une base donnée.

     

    mardi 24 octobre 2006 05:09

Réponses

  • Bonjour,

    La table (ou vue suivant la version) est spécifique à la base de données, vous avez choisi ici master, c'est donc dans master que la requeête va chercher les utilisateurs. La syntaxe correcte serait :

    IF exists(select * from sysusers where name='MyriamClient')
    DROP user  MyriamClient
    GO

    Faites aussi attention aux minuscule et majuscule, le serveur n'y est pas sensible par défaut, mais dans certains cas l'installation est faites de manière à ce que les minuscules et majuscules soient différenciées.

    Cordialement,

    mardi 24 octobre 2006 13:35