Was ist die entsprechenden SQL-Befehle (nicht über die GUI), um ein Windows-Benutzerkonto zu Berechtigungen auf einem SQL Server 2008-Datenbank hinzufügen? dh. ich möchte jemandem Lesezugriff und eine andere Person Lese-/Schreibzugriff geben.
Antwort
Zu viele Anzeigen?Es ist ein zweistufiger Prozess:
-
müssen Sie zunächst eine Anmeldung für diesen Benutzer, basierend auf seinen Windows-Anmeldeinformationen
CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS
Damit wird die grundlegende Berechtigung eingerichtet, um überhaupt eine Verbindung zu Ihrem SQL Server herzustellen
-
Sobald Sie ein Login haben, können Sie eine Benutzer in jeder Datenbank, in der Sie diesem Login Rechte geben wollen, um etwas zu tun:
CREATE USER Johnnie FOR LOGIN Domain\Johnnie;
-
um Leseberechtigungen für jede Tabelle in Ihrer Datenbank zu erteilen, weisen Sie die
db_datareader
Rolle für diesen Benutzersp_addrolemember @rolename = 'db_datareader', @membername = 'Johnnie'
-
um Lese- und Schreibrechte für jede Tabelle in Ihrer Datenbank zu vergeben, weisen Sie sowohl die
db_datareader
sowie diedb_datawriter
Rolle für diesen Benutzer -
Wenn Sie eine feinere Kontrolle darüber benötigen, welche Tabellen gelesen oder beschrieben werden können, müssen Sie die Berechtigungen manuell verwalten, z. B. indem Sie Ihre eigenen Datenbankrollen erstellen und diesen Rollen Berechtigungen zuweisen und dann Ihre Benutzer zu den von Ihnen erstellten anwendungsspezifischen Rollen hinzufügen.