k.arkenau
Goto Top

Neue MSSQL Datenbank ohne Berechtigung

Hallo,

noch immer beschäftigt mich mein MSSQL Server.

Ich bin jetzt auf folgendes Problem gestoßen:

Ich habe als Benutzer "sa", also Systemadministrator, eine neue Datenbank angelegt.

Wenn ich mir jedoch dann die Berechtigungen anschaue ist dort nichts eingetragen, nicht einmal der Systemadministrator bzw. derjenige, welcher die Datenbank angelegt hat.

Wenn ich dann versuche, eine Berechtigung hinzuzufügen, wird mir nur [guest] und [public] angeboten. Wenn ich dann [public] auswähle, das ganze mit zweimal "Ok" bestätige und dann erneut die Berechtigungen aufrufe, ist [public] nicht übernommen worden. Zugriff auf die Datenbank von einer Software aus mit den Daten des "sa" bekomme ich auch nicht.

Was habe ich falsch gemacht?

Für die Hilfe schon mal vielen Dank!

Content-ID: 174612

Url: https://administrator.de/forum/neue-mssql-datenbank-ohne-berechtigung-174612.html

Ausgedruckt am: 23.12.2024 um 05:12 Uhr

goscho
goscho 13.10.2011 um 10:42:22 Uhr
Goto Top
Moin,

kannst du die Datenbank löschen und erneut anlegen?
Logan000
Logan000 13.10.2011 um 11:43:33 Uhr
Goto Top
Moin moin

Zitat von @goscho:
kannst du die Datenbank löschen und erneut anlegen?
Und vielleicht die Version des SQL Servers angeben?

Gruß L.
k.arkenau
k.arkenau 13.10.2011 um 13:09:14 Uhr
Goto Top
Ja, das ist alles ohne Probleme möglich.

Es geht um den SQL Server 2005.
MadMax
MadMax 13.10.2011 um 17:17:55 Uhr
Goto Top
Hallo k.arkenau,

bevor Du irgendwem eine Berechtigung erteilen kannst, mußt Du erst mal einem Benutzer Zugriff auf Deine neue DB erteilen. Das geht über den Befehl "create user" (Verwendung steht in der Hilfe) oder im Management Studio im Menüpunkt "Sicherheit". Den Menüpunkt "Sicherheit" gibt es sowohl unterhalb des Servers, als auch unterhalb der DB. Die Bedienung der beiden Menüpunkte unterscheidet sich voneinander, es funktionieren aber beide Wege.

Gruß, Mad Max
k.arkenau
k.arkenau 28.10.2011 um 11:43:35 Uhr
Goto Top
Hallo,

sorry, war die letzten Tage anderweitig beschäftig und konnte mich nicht mit dem SQL Server beschäftigen.

Kannst Du nochmal genauer ausführen was Du wie meinst? Irgendwie stehe ich gerade auf dem Schlauch.

Dankeschön!
Logan000
Logan000 01.11.2011 um 14:02:49 Uhr
Goto Top
Moin Moin

Öffne das Management Studio und verbinde dich als sa mit deinem SQL Server.
Unter Sicherheit / Anmeldungen legst du dann ein neues "LOGIN" an.
In den Eigenschaften dieses Logins wählst du dann unter "Benutzerzuordnung" deine Datenbank aus und gibst mind. die Datenbankrolle "public" an.
Dieses Login taucht dann auch unter deiner Datenbank / Sicherheit / Benutzer auf.

Mit diesem Login solltest du dann auch mittels Software auf die Datenbank kommen.

Gruß L.
k.arkenau
k.arkenau 01.11.2011 um 15:29:19 Uhr
Goto Top
Hallo,

ich habe es so gemacht wie von Dir erwähnt (allerdings habe ich SQL Server Authentifierzung ausgewählt), allerdings bekomme ich immer noch die Fehlermeldung "Operation muss eine aktualisierbare Abfrage verwenden" und "Aktualisieren nicht möglich. Datenbank oder Objekt ist schreibgeschützt".

Hat also nicht geklappt...was könnte das noch sein?
MadMax
MadMax 02.11.2011 um 12:33:00 Uhr
Goto Top
Hallo,

was ich oben gemeint habe war, daß Du unter "Berechtigungen", wo Du geschaut hat, nur Berechtigungen innerhalb Deiner Datenbank erteilen kannst. Vorher mußt Du erst mal festlegen, wer überhaupt auf die Datenbank Zugriff hat und das geht eben an anderer Stelle. Wo und wie hat Logan Dir ja schon genauer beschrieben.

Zu Deinen letzten Fehlermeldungen: Wenn Du auch kurz schreibst, was Du gemacht hast, als der Fehler aufgetreten ist, kann man Dir besser helfen.

Wenn Du SQL-Server-Authentifizierung verwendest, mußt Du das jedenfalls in den Servereigenschaften unter Sicherheit zugelassen haben.

Gruß, Mad Max
Logan000
Logan000 02.11.2011 um 14:18:03 Uhr
Goto Top
Moin Moin

In den Eigenschaften dieses Logins wählst du dann unter "Benutzerzuordnung" deine Datenbank aus und gibst mind. die Datenbankrolle "public" an.
Abhängig davon welche Aktionen auf der DB ausgeführt werden sollen, solltest du natürlich mehr rechte gewähren.
Für Testzwecke kannst du natürlich auch mal mit den maximalen Rechten anfangen.
Das wäre dann die Datenbankrolle db_owner.

Gruß L.
k.arkenau
k.arkenau 02.11.2011 um 14:37:24 Uhr
Goto Top
Hallo Mad Max und Logan000,

danke schon mal für Eure Hilfe.

Die Fehlermeldung tritt auf, wenn ich versuche, mich mit der Anwendung, die auf der Access Runtime der Version 12.0 basiert, mich mit der Datenquelle (mein MSSQL Server auf einem virtualisierten Server) zu verbinden.

Ich habe dem von mir neu erstellen Login mal zusätzlich die Datenbankrolle "dbowner" zugewiesen, das Problem bleibt jedoch.
MadMax
MadMax 02.11.2011 um 20:00:47 Uhr
Goto Top
Moin,

Du solltest mal beim Hersteller Deines Anwendungsprogramms den Support bemühen, denn jetzt wird es doch sehr speziell. Was die in ihrem Programm bei der Anmeldung anstellen, wissen die nämlich am Besten (hoffentlich face-smile ).

Gruß, Mad Max
Logan000
Logan000 03.11.2011 um 09:21:42 Uhr
Goto Top
Moin Moin

Um die den Zugriff auf denSQL Server (ohne spezielle Anwendung) mal zu testen richte dir doch mal eine ODBC Verbindung ein.
Was deine Anwendung angeht hat MadMAx recht, das kann eigentlich nur der Hersteller genau sagen.

Zu deiner Fehlermeldung:
"Aktualisieren nicht möglich. Datenbank oder Objekt ist schreibgeschützt"
zusammen mit der Tatsache
...die auf der Access Runtime der Version 12.0 basiert
fällt mir noch was ein:
Hast du Schreibrechte auf der Frontend DB?
Ist das Verzeichnis in den die Frontend DB liegt in den Vertrauenswürdigen Speicherorten enthalten?

Gruß L.
k.arkenau
k.arkenau 08.11.2011 um 08:45:32 Uhr
Goto Top
Hallo,

also Schreibrechte sind genügend vorhanden, allerdings erscheint jedesmal, wenn ich den Anwendung (und damit die Access Runtime) der Hinweis, das ein potentielles Sicherheitsrisiko entdeckt wurde und nicht feststellt werden kann, ob die Datei aus einer Vertrauenswürdigen Quelle stammt und die Datei aus sicherheitsgründen geschlossen werden kann.

Kann es das sein und wie ändere ich das?