none
lister les utilisateurs d'une base

    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.

     

    Tuesday, October 24, 2006 5:09 AM

Answers

  • 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,

    Tuesday, October 24, 2006 1:35 PM
    Moderator