2011-10-27 11 views
1

Quelle est la différence entre les connexions SQL Server et les utilisateurs de base de données, et comment puis-je utiliser les utilisateurs dans mon code pour les privilèges donnés à chaque utilisateur puisque la chaîne de connexion utilise uniquement la connexion?Différence entre compte de connexion SQL Server et utilisateurs de base de données?

+0

Je vous recommande de rechercher des informations sur la façon dont le SGBD fonctionnent réellement en termes d'utilisateurs et leur accès, autorisations, avant de poster une question aussi vaste – aleafonso

Répondre

0

Je pense que c'est une question très utile. Juste pour ajouter mes deux cents: de msdn:

Un login est un principal de sécurité, ou une entité qui peut être authentifiée par un système sécurisé. Les utilisateurs ont besoin d'une connexion pour se connecter à SQL Server. Vous pouvez créer un login basé sur un principal Windows (tel qu'un utilisateur de domaine ou un groupe de domaine Windows) ou vous pouvez créer un login qui ne soit pas basé sur un principal Windows (tel qu'un login SQL Server). Remarque Remarque

Pour utiliser l'authentification SQL Server, le moteur de base de données doit utiliser l'authentification en mode mixte. Pour plus d'informations, voir Choisir un mode d'authentification.

En tant que principal de sécurité, des autorisations peuvent être accordées aux connexions. La portée d'un login est l'ensemble du moteur de base de données. Pour se connecter à une base de données spécifique sur l'instance de SQL Server, une connexion doit être mappée à un utilisateur de base de données. Les autorisations à l'intérieur de la base de données sont accordées et refusées à l'utilisateur de la base de données, pas au login. Les autorisations qui ont la portée de l'ensemble de l'instance de SQL Server (par exemple, l'autorisation CREATE ENDPOINT) peuvent être accordées à un login.

http://msdn.microsoft.com/en-us/library/aa337562.aspx#Background

3

Une connexion SQL Server stocke les informations pour authentifier un utilisateur au niveau du serveur. Une fois qu'un utilisateur est authentifié, vous pouvez l'autoriser à utiliser certaines des bases de données hébergées par le serveur. Vous faites cela en mappant la connexion à un utilisateur de base de données ou en d'autres termes accorder cet accès de connexion à une ou plusieurs bases de données.

Quels privilèges voulez-vous définir par code? Par exemple, vous pouvez utiliser SMO pour administrer votre serveur ou vous pouvez utiliser des instructions Sql telles que GRANT pour modifier les autorisations.

+0

Ce que je ne comprends pas comment utiliser la Utilisateur SQL dans mon code d'abord pour définir les privilèges et secnod de ne pas autoriser les utilisateurs specfic à entrer ou accéder à la base de données? – ykh

Questions connexes