В SQL Server вы можете иметь учетные записи на основе учетных записей Windows или отдельные учетные записи SQL. Для обоих вариантов вам потребуется одна учетная запись для каждого пользователя , который должен использовать вашу базу данных.
Единственным исключением является возможность создания имени входа SQL Server для системы безопасности Windows , группа , например. MyAppUsers
, а затем пользователь в вашей базе данных для этого логина. При этом любая учетная запись Windows, которая является членом этой группы безопасности (в Windows / AD), также будет иметь права на просмотр / использование вашей базы данных.
При таком подходе вы также перемещаете администрацию, которая может использовать вашу базу данных из SQL Server, поскольку она зависит только от членства в группе безопасности Windows.
Один логин, один пользователь - несколько учетных записей Windows, которые получают разрешения с этим. Мне кажется победителем!
Обновление:
Создание имени входа для группы Windows AD:
CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS
Создать пользователя в вашей базе данных на основе этого логина:
USE (your database)
CREATE USER GroupNameUser
FOR LOGIN [DOMAIN\GroupName]
Строка подключения для подключения к SQL Server:
server=(your server);database=(your database);integrated security=SSPI;
Что еще я могу вам сказать?
Обновление № 2: код не с использованием учетных записей Windows:
Создайте логин для каждого пользователя, которому необходимо использовать ваше приложение
CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'
Создайте пользователя в вашей базе данных на основе этого логина - снова, один раз для каждого пользователя вашего приложения:
USE (your database)
CREATE USER UserName
FOR LOGIN (some login name)
Строка подключения для подключения к SQL Server:
server=(your server);database=(your database);
user id=UserName;Password=Top$ecret
Но опять же: для этого требуется один логин, включающий пароль и одного пользователя в каждой базе данных , который необходимо отслеживать и, возможно, выполнять такие вещи, как операции «сброса пароля» и т. Д. Из приложения базы данных. Много больше с точки зрения накладных расходов администратора!