it-swarm.com.de

SQL Server 2008: Wie erteile ich einem Benutzernamen Berechtigungen?

Ich muss in der Lage sein, eine ODBC Verbindung durch SQL Server-Authentifizierung herzustellen.

Wie erteile ich in SSMS einem Benutzer die Berechtigung, ALLE RECHTE für eine bestimmte Datenbank zu haben?

gibt es eine Möglichkeit, dies grafisch mit SSMS zu tun?

Wenn Sie Ihrem Benutzer alle Leseberechtigungen erteilen möchten, können Sie Folgendes verwenden:

EXEC sp_addrolemember N'db_datareader', N'your-user-name'

Das fügt den Standardwert db_datareader Rolle (Leseberechtigung für alle Tabellen) für diesen Benutzer.

Es gibt auch ein db_datawriter role - gibt Ihrem Benutzer alle Schreibrechte (INSERT, UPDATE, DELETE) für alle Tabellen:

EXEC sp_addrolemember N'db_datawriter', N'your-user-name'

Wenn Sie detaillierter arbeiten müssen, können Sie den Befehl GRANT verwenden:

GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName

und so weiter - Sie können SELECT, INSERT, UPDATE, DELETE-Berechtigungen für bestimmte Tabellen granular erteilen.

Dies alles ist in der MSDN-Onlinedokumentation für SQL Server sehr gut dokumentiert.

Und ja, Sie können dies auch grafisch tun - gehen Sie in SSMS zu Ihrer Datenbank und dann zu Security > Users, klicken Sie mit der rechten Maustaste auf den Benutzer, dem Sie Berechtigungen erteilen möchten, und dann Properties und unten sehen Sie "Datenbankrollenmitgliedschaften", in denen Sie den Benutzer zu Datenbankrollen hinzufügen können.

alt text

134
marc_s

Wenn Sie wirklich möchten, dass sie ALLE Rechte haben:

use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go
57
Joe Stefanelli

Wie das folgende. Dadurch wird der Benutzerdatenbankeigentümer.

EXEC sp_addrolemember N'db_owner', N'USerNAme'
18
SQLMenace