В 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
Но отново:това изисква едно влизане, включително парола и един потребител във всяка база данни които трябва да следите и евентуално да правите неща като операции за „нулиране на парола“ и т.н. от вашето приложение за база данни. Много повече по отношение на администраторските разходи!