steppo 10 Geschrieben 21. Juli 2010 Melden Teilen Geschrieben 21. Juli 2010 Hallo Leute, auf einem SQL Server 2005 befindet sich eine Datenbank. In dieser Datenbank befinden sich mehrere Tabellen. Auf dem DC wurden Gruppen angelegt. Eine Administrative Gruppe, die löschen darf und eine User-Gruppe die Einfügen, Suchen und Ändern darf. Der Zugriff auf die Tabellen wird über diese Gruppen gesteuert. Dies funktioniert alles einwandfrei. Es wurde nun eine neue Tabelle in der bestehenden Datenbank angeleg und nun das Problem. Der Zugriff auf die Datenbank und die bereits vorhandenen Tabellen funktioniert. Der Zugriff auf die neue Tabelle schlägt aber mit folgender Meldung fehl: SQL-Server existiert nicht oder Zugriff verweigert. Habe den Zugriff auf die neue Tabelle ganz ohne Berechtigungen und auch mit oben beschriebenen Berechtigungen versucht, immer das gleiche Ergebnis: Existiert nicht oder Zugriff verweigert. Auch ein erneutes anlegen der Tabelle brachte keine Lösung des Problems. Ein Select-statement auf dem Server wird einwandfrei ausgeführt. Hat jemand noch einen Lösungsvorschlag. Gruß Steppo Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 21. Juli 2010 Melden Teilen Geschrieben 21. Juli 2010 Moin, wie sind die Berechtigungen wo gesetzt? In SQL Server müssen mehrere Ebenen korrekt berechtigt werden: Server, Datenbank, Objekt. Wie geschieht der Zugriff auf die Tabellen? Gruß, Nils Zitieren Link zu diesem Kommentar
steppo 10 Geschrieben 21. Juli 2010 Autor Melden Teilen Geschrieben 21. Juli 2010 Hallo NilsK, die beiden vorher beschriebenen Gruppen sind in der Ad angelegt. Auf dem SQl-Server sind diese Gruppen für Login(Datenbankzugriff) eingetragen. Für beide Gruppen ist die Datenbank als Standarddatenbank eingestellt. Zugriffsberechtigungen für die einzelnen Tabellen sind in den Gruppen definiert. Also Gruppe1 darf Suchen, Ändern, Einfügen und Gruppe2 darf Suchen, Ändern,Einfügen und Löschen. Wie gesagt, alle Tabellen sind zu erreichen und es sind auch nur die erlaubten Aktionen möglich. Bis auf die neu angelegte. Der Zugriff auf die Datenbank und die Tabellen erfolgt über ADO. Gruß Steppo Zitieren Link zu diesem Kommentar
steppo 10 Geschrieben 21. Juli 2010 Autor Melden Teilen Geschrieben 21. Juli 2010 Hallo Leute, Kann es sein, dass der Unterstrich im Tabellennamen stört? Bei der Selectabfrage auf dem SQL-Server scheint das keinen Unterschied zu machen! Gruß Steppo Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 22. Juli 2010 Melden Teilen Geschrieben 22. Juli 2010 Moin, dann prüfe noch mal ausdrücklich die Berechtigungen der neuen Tabellen. Es gibt im SQL Server keine automatische Berechtigungsvergabe oder Vererbung. Gruß, Nils Zitieren Link zu diesem Kommentar
steppo 10 Geschrieben 22. Juli 2010 Autor Melden Teilen Geschrieben 22. Juli 2010 Hallo NilsK, die Berechtigungen sind identisch mit den Berechtigungen für den Zugriff auf die anderen Tabellen. ich habe das ganze auf einem SQL 2000 Testserver und einem SQL 2005 Testserver bei mir getestet. Es funktioniert bei mir. Auf einem anderen SQL2005 Server habe ich allerdings das angesprochenen Problem. Der Unterschied zwischen meinen Testsystemen und dem anderen ist, meine Server laufen nicht in einer Domäne. Gruß Steppo Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 22. Juli 2010 Melden Teilen Geschrieben 22. Juli 2010 Moin, hat die neue Tabelle evtl. einen anderen Owner? Dann funktioniert die Berechtigungsweitergabe bei indirekten Zugriffen evtl. nicht. Gruß, Nils Zitieren Link zu diesem Kommentar
steppo 10 Geschrieben 22. Juli 2010 Autor Melden Teilen Geschrieben 22. Juli 2010 Hallo NilsK, hilf mir mal auf die Sprünge. Wo steht der Owner? gruß Steppo Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 22. Juli 2010 Melden Teilen Geschrieben 22. Juli 2010 Moin, im SSMS unter Tabellen jeweils direkt vor dem Namen. Meistens steht da "dbo". Wenn dort was anderes steht, dürfte das das Problem sein. Gruß, Nils Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 22. Juli 2010 Melden Teilen Geschrieben 22. Juli 2010 Off-Topic:Och Menno, da bin ich grade selber in eine solche Falle getreten, könnte mit Wissen strotzen und Nils nimmt wieder alles vorweg. :D Da ich grade selber durch dieses Tal der Tränen bin ohne vorher das Default Schema des Logins korrekt einzutragen: Ich tendiere ganz klar zu Nils seiner Vermutung. 100 % ACK Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 22. Juli 2010 Melden Teilen Geschrieben 22. Juli 2010 Moin, Off-Topic:Och Menno, da bin ich grade selber in eine solche Falle getreten, könnte mit Wissen strotzen und Nils nimmt wieder alles vorweg. :D Off-Topic:ich hab das jahrelang unterrichtet - eigentlich ist mir schon peinlich, dass ich nicht eher drauf gekommen bin. :D Aber so richtig oft bin ich auf der Ebene nicht mehr unterwegs. Gruß, Nils Zitieren Link zu diesem Kommentar
steppo 10 Geschrieben 22. Juli 2010 Autor Melden Teilen Geschrieben 22. Juli 2010 Hallo NilsK, hallo phoenixcp, das war es leider nicht. Auch bei der Problemtabelle ist der Owner dbo. Was mir aber aufgefallen ist. Ich glaube ich habe das Problem gefunden. In der Applikation wird eine Verbindung zur Datenbank hergestellt. Tabellen können abgefragt werden. Die Abfrage der Tabellen wird über ein ADOCommand erreicht. Um nun eine zweite Abfrage zu starten, habe ich eine zweite Adocommand-komponenete hinzugefügt. Bei dieser war der Connection-string nicht angegeben. Nachdem ich diesen hinzugefügt habe, funktioniert es. ABER: Wieso funktioniert es in meiner Umgebung ohne diesen Connectionstring(eine Verbindung zur Datenbank existiert ja bereits)? Liegt es vielleicht daran, dass meine Server nicht in der Domäne laufen? Gruß Steppo Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 22. Juli 2010 Melden Teilen Geschrieben 22. Juli 2010 Was ist das denn für eine Applikation? Wenn du selber Komponenten hinzufügen kannst, geh ich davon aus, das du diese selber entwickelst. Warum dann unbedingt ADO? Nimm nen schönen SQLClient und gut. Bei .Net wäre das dann der System.Data.SQLClient-Namespace. Gruß Zitieren Link zu diesem Kommentar
steppo 10 Geschrieben 22. Juli 2010 Autor Melden Teilen Geschrieben 22. Juli 2010 Hallo phoenixcp, diese Applikation ist schon etwas älter. Sie dient zur Dateneingabe durch den User. Aber wir wollen hier nicht über Techniken diskutieren. Hast du eine Idee wie es zu diesem von mir geschilderten Problem kommt? Gruß Steppo Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 22. Juli 2010 Melden Teilen Geschrieben 22. Juli 2010 Also da die Rechte innerhalb der Datenbank stimmen, kann es nicht an der Datenbank liegen. Der Rest wäre Kaffeesatzleserei, da ich die Applikation und deren Quellcode nicht kenne (und auch nicht kennen will). Ich meinerseits schiebe hierbei ganz klar der Applikation den schwarzen Peter in die Schuhe, den SQL Server seitig ist alles sauber. 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.