
Ich habe gerade den Zugriff für einen SQL Server-Benutzer auf eine einzelne Tabelle eingerichtet. Dies habe ich getan, indem ich dem Benutzer die Rolle db_datareader zugewiesen habe. Dann habe ich die Berechtigungen für alle Tabellen festgelegt, auf die dieser Benutzer keinen Zugriff haben soll, indem ich alle Kontrollkästchen in der Spalte DENY für jede Tabelle aktiviert habe.
Das hat funktioniert, war aber mit viel Klicken auf Kästchen verbunden.
Gibt es einen kürzeren, einfacheren Weg, dies zu tun?
Antwort1
JA! Sie haben es genau umgekehrt gemacht. Entfernen Sie den Benutzer aus der Rolle des Datenlesers (die, wie Sie festgestellt haben, Auswahlzugriff auf die gesamte Datenbank gewährt) und gewähren Sie nur Auswahlzugriff auf diese eine Tabelle.
USE MyDB
GRANT SELECT ON dbo.MyTable to JoeUser
Oder in SQL Server Management Studio
- Klicken Sie mit der rechten Maustaste auf die Tabelle und rufen Sie die Eigenschaften ab.
- Klicken Sie im Menü links auf Berechtigungen
- Klicken Sie auf „Suchen“ und finden Sie Ihren Benutzer
- Setzen Sie in der Spalte „Grant“ in der Zeile „Select“ ein Häkchen.