Schreibrechte auf nur einer Tabelle innerhalb einer Datenbank

Alex81m

Neuer Benutzer
Beiträge
2
Hallo Zusammen,

ich stehe vor folgender Herausforderung:
habe eine Datenbank mit n Tabellen. Nun soll ein spezieller User (eigener Login) lediglich select / insert / execute / update / alter Rechte auf eine Tabelle innerhalb der Datenbank erhalten. Alle anderen Tabellen soll der Anwender nicht lesen können.
Ich bin wie folgt vorgegangen:

Code:
ALTER SCHEMA MySchema TRANSFER MyTable;
GRANT INSERT ON MySchema. MyTable To MyUser;
GRANT SELECT ON MySchema. MyTable To MyUser;
GRANT UPDATE ON MySchema. MyTable To MyUser;
GRANT ALTER ON MySchema. MyTable To MyUser;


Wenn ich mich nun im SQL Management Studio mit MyUser einlogge, sehe ich wenn die Tabelle nicht. Ich kann zwar ein Select ausführen aber die anderen Operationen wie alter, insert etc. werden mit permission denied verweigert.

Hab ich was übersehen?

Grüße,
Alex81m
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.582
Ich würde es über das SQL Management Studio machen oder zumindest dort kontrollieren. Rechtsklick auf die Tabelle, Berechtigungen. Da müsste ja alles aufgelistet sein.
 
Werbung:

Tommi

Datenbank-Guru
Beiträge
285
Hallo Alex81m,

ich wäre auch eher den Weg von ukulele gegangen.
Dabei musst du zunächst bei der Anmeldung unter "Sicherheit" die Zuordnung zur Datenbak selbst einrichten, jedoch nur mit der Rollen-Mitgliedschaft "public".
Dann gehst du in der Datenbank-Tabelle, für die diese Anmeldung berechtigt werden soll, auf Eigenschaften.

Im Punkt "Berechtigung" kannst du im Feld "Benutzer oder Rollen" dann die Anmeldung (über die Schaltfläche "Suchen") explizit für diese Tabelle hinzufügen.
Nachdem du die Anmeldung hinzugefügt hast, kannst du in der unten angezeigten Liste die verschiedenen Berechtigungen, über die diese Anmeldung verfügen soll, angeben (einfach das Häkchen setzen).
Für die von dir beschriebenen Aktionen sollten folgende Punkte aktiviert werden: Aktualisieren, Ändern, Einfügen, Löschen und Steuern.
(Das ist im Groben das, was du über die ausgeführten Kommandos bereits eingerichtet hast).

Viele Grüße,
Tommi
 
Oben