2011-02-26 1 views
1

Je me suis connecté à SQL Server avec l'authentification Windows (Admin).Utilisation des connexions, des utilisateurs et des autorisations dans SQL Server 2005 Express

Ensuite, j'ai créé une connexion pour mon SQL Server 2005 Express:

CREATE LOGIN bob WITH PASSWORD = 'bobpass'. 

Maintenant, je fermai SQL Server & puis à nouveau ouvert ce & cette fois je me suis connecté avec la connexion 'bob'.

Maintenant, j'exécutais ceci: SELECT CURRENT_USER.

Il a donné la sortie: invité

Pourquoi donc?

Est-ce parce que je n'ai créé aucun utilisateur à l'intérieur de la connexion bob? CURRENT_USER renverra un principal de base de données (un utilisateur)

Répondre

3

bob est un serveur principal (un login). Si vous n'avez pas autorisé l'accès à une base de données et que vous n'avez ajouté aucun mot de passe à aucun groupe de sécurité de serveur intégré, il n'aura accès à aucune base de données sauf master et tempdb. Dans ces deux bases de données, il sera reconnu comme guest. C'est la valeur par défaut, vous pouvez remarquer des différences avec cette description si vous avez modifié quelque chose dans votre déploiement à partir d'une nouvelle installation (par exemple, vous pouvez découvrir que bob a accès à plusieurs bases de données car ces bases de données ont activé guest).

Donc, fondamentalement, vous avez bien deviné: bob est guest parce qu'il ne dispose pas d'un principe de base de données explicite (un utilisateur), ni est-il membre de sysadmin (auquel cas il serait dbo dans chaque base de données).

+0

merci beaucoup monsieur, aussi, monsieur si je crée un bobuser pour la connexion de bob, alors puis-je me connecter au serveur sql en utilisant le nom d'utilisateur comme bobuser – sqlchild

+0

J'ai aussi une question sur: http://stackoverflow.com/questions/ 5117029/logins-users-permissions-in-sql-express-2005-with-diagram-flowchart – sqlchild

+0

monsieur, si je donne le rôle sysadmin à bob, alors il serait dbo de toutes les bases de données, un utilisateur serait automatiquement créé sous connexion bob, nommé comme dbo? – sqlchild

Questions connexes