Lesender Zugriff eines Benutzers auf SQL-2005 Datenbank
Hallo zusammen,
ich möchte auf eine SQL-Server 2005 Datenbank einen Benutzer hinzufügen.
Der Benutzer soll auf der Datenbank nur lesenden Zugriff haben.
Habe leider bisher noch keine entsprechende Anleitung im Internet gefunden.
Hat jemand eine Idee?
Danke schon mal.
Gruß
Tobias
ich möchte auf eine SQL-Server 2005 Datenbank einen Benutzer hinzufügen.
Der Benutzer soll auf der Datenbank nur lesenden Zugriff haben.
Habe leider bisher noch keine entsprechende Anleitung im Internet gefunden.
Hat jemand eine Idee?
Danke schon mal.
Gruß
Tobias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 103059
Url: https://administrator.de/contentid/103059
Ausgedruckt am: 25.11.2024 um 09:11 Uhr
4 Kommentare
Neuester Kommentar
Moin Moin
Im MS SQL Server Managment Studio unter [MeinSQLServer]\Sicherheit\Anmeldungen
Rechtklick "Neue Anmeldung".
Unter "Seite auswählen" "Benutzerzuordnung" kannst du festlegen für welche DB diese Anmeldung Rechte erhalten soll und hier auch auf die Datenbankrollen zugreifen.
Nur lesen ist "db_datareader".
Gruß L.
Im MS SQL Server Managment Studio unter [MeinSQLServer]\Sicherheit\Anmeldungen
Rechtklick "Neue Anmeldung".
Unter "Seite auswählen" "Benutzerzuordnung" kannst du festlegen für welche DB diese Anmeldung Rechte erhalten soll und hier auch auf die Datenbankrollen zugreifen.
Nur lesen ist "db_datareader".
Gruß L.
http://msdn.microsoft.com/de-de/library/ms189612(SQL.90).aspx
db_datareader darf wirklich nur SELECT, irgendwas Ausführen ist auch schon deutlich mehr als ein Lesezugriff.
Ich würde es nochmal mit "db_denydatawriter" versuchen, der darf alles, außer DELETE / INSERT / UPDATE. Wenn das auch nicht geht, z.B. weil das Programm irgendwelche Logtabellen über die Anmeldungen führt und dann scheitert, dann hast du mit den vordefinierten Rollen Pech und musst "per Hand" anfangen auf Tabellen Rechte zu vergeben, GRANT / DENY sind dann deine Freunde.
db_datareader darf wirklich nur SELECT, irgendwas Ausführen ist auch schon deutlich mehr als ein Lesezugriff.
Ich würde es nochmal mit "db_denydatawriter" versuchen, der darf alles, außer DELETE / INSERT / UPDATE. Wenn das auch nicht geht, z.B. weil das Programm irgendwelche Logtabellen über die Anmeldungen führt und dann scheitert, dann hast du mit den vordefinierten Rollen Pech und musst "per Hand" anfangen auf Tabellen Rechte zu vergeben, GRANT / DENY sind dann deine Freunde.
Moin Moin
3. Möglichkeiten:
1. db_Owener verwenden. Fertig. Scheinentor statt Passkontrolle aber es läuft
2. Eine Rolle auswählen und (wie Krause beschreibt) Rechte pro Objekt erweitern (etwas mühsam, aber sicher).
3. Hersteller/ Entwickler des Programms fragen welche Rechte (db_Rolle) der Benutzer braucht (leider ist das oft nur Möglichkeit 1).
Gruß L.
Hat der Benutzer auch automatisch execute Rechte?
"Execute permission was denied on the object".
Siest Du selbst, nicht wahr?"Execute permission was denied on the object".
3. Möglichkeiten:
1. db_Owener verwenden. Fertig. Scheinentor statt Passkontrolle aber es läuft
2. Eine Rolle auswählen und (wie Krause beschreibt) Rechte pro Objekt erweitern (etwas mühsam, aber sicher).
3. Hersteller/ Entwickler des Programms fragen welche Rechte (db_Rolle) der Benutzer braucht (leider ist das oft nur Möglichkeit 1).
Gruß L.