2010-04-27 7 views
8

Quelles sont les commandes SQL appropriées (pas via l'interface graphique) pour ajouter un compte d'utilisateur Windows aux autorisations sur une base de données SQL Server 2008? à-dire .. Je veux donner à quelqu'un l'accès en lecture et une autre personne en lecture/écriture ..Autorisation utilisateur SQL Server 2008 Express

Répondre

17

C'est un processus en deux étapes:

  • d'abord, vous devez créer une connexion pour cet utilisateur, en fonction de ses informations d'identification Windows

    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS 
    

    Ceci met en place l'autorisation de base pour se connecter même à votre SQL Server

  • une fois que vous avez une connexion, vous pouvez créer un utilisateur dans chaque base de données où vous voulez donner que les droits de connexion pour faire quelque chose:

    CREATE USER Johnnie FOR LOGIN Domain\Johnnie; 
    
  • pour accorder des autorisations de lecture sur toutes les tables de votre base de données, attribuez la db_datareader rôle à cet utilisateur

    sp_addrolemember @rolename = 'db_datareader', @membername = 'Johnnie' 
    
  • d'accorder autorisations de lecture et d'écriture sur toutes les tables de votre base de données, attribuez à la fois la db_datareader ainsi que le rôle db_datawriter à cet utilisateur

  • Si vous avez besoin d'un contrôle plus précis sur les tables pouvant être lues ou écrites, vous devez gérer les autorisations manuellement, par ex. en créant vos propres rôles de base de données et en attribuant des autorisations à ces rôles, puis en ajoutant vos utilisateurs aux rôles spécifiques à l'application que vous avez créés

+2

+1. Une réponse très claire. –

+0

@Mitch Wheat: merci, Mitch! –

+2

Assurez-vous également que vous avez activé les connexions TCP/IP dans l'outil Gestionnaire de configuration SQL Server. Ceci est généralement un problème uniquement lorsque vous essayez d'autoriser des connexions à distance à votre ordinateur local.

Questions connexes