Hunv 10 Geschrieben 12. September 2011 Melden Teilen Geschrieben 12. September 2011 Hallo, wie kann ich einem User Zugriff auf einzelne Tabellen einer Datenbank geben ohne dass er Zugriff auf andere Tabellen bekommt? Das SMS ist da finde ich nicht so richtig selbsterklärend und auch Artikel, die ich bereits gefunden habe, haben nicht zu dem geführt, was ich gerne möchte. Ich habe einen Benutzer auf dem Server angelegt und auf der Datenbank. Die Standard-Datenbank auf die betreffende Datebank gestellt. Bei "sicherungsfähige Elemente" habe ich die drei Tabellen ausgewählt. Der Benutzer kann zur Datenbank verbinden und die Datenbank öffnen, sieht aber keine Tabellen. Mein SMS ist (leider) Deutsch und ich habe nicht die Möglichkeit dies zu ändern. Gruß Hunv Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. September 2011 Melden Teilen Geschrieben 12. September 2011 Moin, der User braucht: einen Login (Anmeldung) auf Server-Ebene ein Benutzerkonto in der Datenbank, das seinem Login zugeordnet ist Berechtigungen auf die Objekte Es reicht nicht aus, bei dem Login die Standarddatenbank zu setzen. Oft wird Schritt 2 vergessen. Erst danach kannst du Berechtigungen auf einzelne Tabellen erteilen, am besten über die Eigenschaften der Tabelle, nicht über den User. Gruß, Nils Zitieren Link zu diesem Kommentar
Hunv 10 Geschrieben 12. September 2011 Autor Melden Teilen Geschrieben 12. September 2011 Hi Nils, danke für deine Antwort. 1. und 2. habe ich. ich weiss nicht ob ich den Punkt einfach nicht sehe wo man die Berechtigungen auf die Tabellen einstellt, aber: Wo mache ich das? Gruß Hunv Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. September 2011 Melden Teilen Geschrieben 12. September 2011 Moin, Rechtsklick auf die Tabelle - Eigenschaften. Gruß, Nils Zitieren Link zu diesem Kommentar
Hunv 10 Geschrieben 12. September 2011 Autor Melden Teilen Geschrieben 12. September 2011 Hallo Nils, das hat geklappt - solange ich mich lokal anmelde. Wenn ich mir den Server aber remote mappe, dann werden die Tabellen nicht angezeigt. Das Verbinden selbst funktioniert aber. Gruß Hunv Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. September 2011 Melden Teilen Geschrieben 12. September 2011 Moin, was heißt "Wenn ich mir den Server aber remote mappe"? Wie greifst du zu? Mit welchem Account meldest du dich an? Wer zeigt dir Tabellen an bzw. nicht an? Was genau passiert? Gruß, Nils Zitieren Link zu diesem Kommentar
Hunv 10 Geschrieben 13. September 2011 Autor Melden Teilen Geschrieben 13. September 2011 Hi Nils, ich starte auf einem anderen System (wo nicht die Datenbank auf die ich zugreifen möchte läuft) das SQL Management Studio. Dort gebe ich als Server das System an, auf dem die Datenbank läuft. Dann wähle ich SQL-Authentifizierung aus und gebe den entsprechenden Benutzer ein und das dazugehörende Passwort. Dann bin ich verbunden und sehe zwar alle Datenbanken auf dem Server, kann aber nur auf die Datenbank zugreifen, in der die "Zieltabellen" liegen. Soweit ist alles richtig. Wenn ich nun aber die Tabellen der Datenbank aufklappe, sehe ich dort nur den Standardordner "Systemtabellen", nicht aber die Tabellen, auf die ich zugreifen möchte. Wie gesagt: Wenn ich das selbe auf dem System mache, auf dem die Datenbank läuft, dann sehe ich dort die drei Tabellen, auf die ich zugreifen möchte. Gruß Hunv Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 13. September 2011 Melden Teilen Geschrieben 13. September 2011 Moin, das kann ich nicht nachvollziehen. Bist du in beiden Situationen mit demselben User angemeldet? Handelt es sich um denselben Server (oder evtl. eine andere Instanz)? Wie viele Tabellen hat die Datenbank insgesamt? Welche Zugriffsrechte hast du auf die Tabellen vergeben? Gruß, Nils Zitieren Link zu diesem Kommentar
Hunv 10 Geschrieben 13. September 2011 Autor Melden Teilen Geschrieben 13. September 2011 Hi, ich bin in beiden Situationen mit demselben User angemeldet. Die Verbindung erfolgt auf den gleichen Server (einmal mit "localhost", einmal mit dem hostnamen). Die Datenbank hat ca. 300 Tabellen. Die Anmeldung hat die Serverrolle "public", ist der betreffenden Datenbank zugeordnet und das Standardschema ist auch das der Datenbank. Das mit dem Schema, kann das noch ein Problems sein? Es ist nicht das Standard-DBO-Schema, sondern eins, welches für die Datenbank definiert wurde. Der Benutzer der Datenbank hat den entsprechenden Anmeldenamen und unter "Sicherungsfähige Elemente" die drei betreffenden Tabellen mit allen Rechten. In den Tabellen ist unter Berechtigungen jeweils der betreffende Benutzer mit allen Rechten eingetragen. Zitieren Link zu diesem Kommentar
Hunv 10 Geschrieben 13. September 2011 Autor Melden Teilen Geschrieben 13. September 2011 Hi, ich habe noch ein wenig rumgetestet. In der Datenbank liegen diverse Tabellen Alle beginnen mit fed. zwei Stück beginnen jedoch mit dbo. Wenn ich beim Benutzer der Datenbank nun die Rollenmitgliedschaft "db_datareader" und "db_datawriter" aktiviere, dann sehe ich remote die zwei Tabellen, die mit dbo. beginnen. Die anderen Tabellen sehe ich nur, wenn ich die Rollenmitgliedschaft db_owner aktiviere. Aber da sehe ich dann alle Tabellen und nicht nur die, auf die der Zugriff gewährt werden soll. Irgendwie ist das alles etwas unübersichtlich... Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.