V SQL Server můžete mít buď účty založené na účtech Windows, nebo samostatné, specifické účty SQL. Pro obě varianty potřebujete jeden účet pro každého uživatele který potřebuje použít vaši databázi.
Jedinou výjimkou je možnost vytvořit přihlášení k serveru SQL pro skupinu zabezpečení systému Windows , např. MyAppUsers
a poté uživatele ve vaší databázi pro toto přihlášení. Díky tomu bude mít každý účet Windows, který je členem této skupiny zabezpečení (ve Windows/AD), také oprávnění prohlížet a používat vaši databázi.
S tímto přístupem také přesunete administraci toho, kdo může používat vaši databázi, mimo SQL Server, protože to opravdu závisí pouze na členství v bezpečnostní skupině Windows.
Jedno přihlášení, jeden uživatel – více účtů Windows, které s tím získají oprávnění. Zdá se mi jako vítěz!
Aktualizace:
Vytvořte přihlašovací jméno pro skupinu Windows AD:
CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS
Vytvořte uživatele ve své databázi na základě tohoto přihlášení:
USE (your database)
CREATE USER GroupNameUser
FOR LOGIN [DOMAIN\GroupName]
Připojovací řetězec pro vaše připojení k serveru SQL:
server=(your server);database=(your database);integrated security=SSPI;
Co vám ještě můžu říct?
Aktualizace č. 2: kód ne pomocí účtů Windows je toto:
Vytvořte přihlašovací údaje pro každé uživatel, který potřebuje vaši aplikaci používat
CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'
Vytvořte uživatele ve své databázi na základě tohoto přihlášení – opět jednou pro každého uživatele vaší aplikace:
USE (your database)
CREATE USER UserName
FOR LOGIN (some login name)
Připojovací řetězec pro vaše připojení k serveru SQL:
server=(your server);database=(your database);
user id=UserName;Password=Top$ecret
Ale znovu:to vyžaduje jedno přihlášení včetně hesla a jednoho uživatele v každé databázi které potřebujete sledovat a případně provádět věci jako operace „resetování hesla“ atd. z vaší databázové aplikace. Mnohem více, pokud jde o režii správce!