PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benutzerrechte MS SQL 2005


mapel110
2008-03-27, 12:16:24
Die Einstellungen dafür habe ich gefunden. Ich habe aber ein recht spezielles Problem.
Ich hab Lokal den SQL2005 aufgesetzt. Ich kann connecten zu meiner lokalen Datenbank, solange ich Adminrechte habe mit meinem Benutzerkonto.
Ich bekomme aber Adminrechte entzogen bzw ich hab sie wieder temporär, bis meine probs gelöst sind.

Jedenfalls will ich auf diesen Server auch connecten können, wenn ich keine Adminrechte mehr habe. Sollte ich also erst ein neues lokales Windows-Benutzerkonto einrichten, welches ich wiederum bei MS SQL entsprechend konfigurieren kann, oder geht das auch mit dem derzeit bestehenden Benutzerkonto, was ja derzeit noch Adminrechte hat?

/edit
bringt es was, wenn ich den "Besitzer" der Datenbank ändere? Dann müsste ich doch auch vollen Zugriff haben?

/edit2
Hat sich erledigt. Standardmäßig ist "SQL-Authentifizierung" deaktiviert. Da kann man so viel rumprobieren, wie man will, ohne die Einstellung kommt man wohl nicht an die Datenbanken ran ohne Adminrechte.

Gast
2008-03-27, 19:29:33
^^ Du solltest dich erst mal ein wenig mit den absoluten Grundlagen beschäftigen, denn so richtig scheinst du noch nicht durchzublicken.
Prinzipiell sollte man wenn möglich immer Windows Authentifizierung verwenden. Und Admin Rechte braucht man garantiert nicht, um überhaupt auf eine Datenbank zugreifen zu dürfen.
Ansonsten zu deinem Problem: Du musst ein Login erstellen. Das findest du im Management Studio unter Security->Logins des Server. Dann gehst du auf deine DB, dort gibt es ebenfalls einen Knoten Security. Dort gehst du dann auf Users und legst ein neuen Nutzer an. Den mappst du dann auf den erstellen Login. Als Login verwendest du dann z.B. irgend eine Windows Benutzerkonto oder eine Windowsgruppe. Du kannst natürlich auch ein Login mit SQL Server Authentifizierung verwenden. Dazu muss aber, wie du festgestellt hast, diese Option erst mal aktiviert werden.

mapel110
2008-03-27, 19:35:27
hmkay, ich werd das morgen mal testen. Ich hab keine Lust mich in den Rotz mehr als nötig einzulesen. SQL und restliche Webprogrammierung ist Teufelswerk. :uexplode:

Den mappst du dann auf den erstellen Login. Als Login verwendest du dann z.B. irgend eine Windows Benutzerkonto oder eine Windowsgruppe.
Bis dahin konnte ich folgen. Aber wo lege ich den Login/die Art des Logins fest?

Gast
2008-03-28, 09:34:52
Bis dahin konnte ich folgen. Aber wo lege ich den Login/die Art des Logins fest?

Im Management Studio gibt es unter dem Server Node einen Node Security. Darunter gibt es dann den Node Login. Im Deutschen lauten die Nodes also Sicherheit->Anmeldungen. Auf den Node Login bzw. Anmeldung einen Rechtsklick machen und dann "Neue Anmeldung..." auswählen. Dann öffnet sich ein neues Fenster und dort steht dann auch gleich, ob Windows- oder SQL Server Authentifizierung.

mapel110
2008-03-28, 10:08:17
Ah okay, ja so hatten wir auch einen Benutzer angelegt. Kollege hat aber dann aus irgendwelchen Gründen wohl anstatt Windows-Anmeldung SQL-Anmeldung angewählt bei dem entsprechenden, neuen User.

Nachträglich ändern kann man das bei dem User nicht? Zumindest offenbar nicht im selben Dialogfenster.
Naja, so wichtig ists eigentlich auch nicht. Es läuft ja alles was ich brauche.

Birdman
2008-03-28, 11:22:03
Ich verwende generell für User die nur auf eine SQL DB wollen, die SQL Authentication. (z.B. für Webapplikationen)
Dafür einen Windows User zu erstellen und dem dann im SQL die Loginrechte zu geben ist überflüssig und imho unnötig.

mapel110
2008-03-28, 11:29:42
Haben wir ja auch nicht gemacht. Wir haben den User nur im SQL-Server eingerichtet.

Gast
2008-03-28, 18:39:13
Ich verwende generell für User die nur auf eine SQL DB wollen, die SQL Authentication. (z.B. für Webapplikationen)
Dafür einen Windows User zu erstellen und dem dann im SQL die Loginrechte zu geben ist überflüssig und imho unnötig.

SQL Authentifizierung selbst ist unsicherer als NTLM oder Kerberos Authentifizierung. Unnötig ist es höchstens, wenn du keine hohen Sicherheitsansprüche hast. Und wenn dein Sicherheitskonzeit voraussetzt, dass garantiert nur ein bestimmtes Konto/Rolle Zugriff haben soll, dann kommst du um Windows Authentifizierung nicht herum. Denn eine richtige Nutzer/Passwort Kombination garantiert noch lange nicht, ob der dahinterstehende Nutzer auch tatsächlich vertrauenswürdig ist.

mapel110
2008-04-01, 14:05:54
$con = mssql_connect("127.0.0.1,1433","**********", "********");

IP und Port ist korrekt, aber er will nicht verbinden. Server läuft selbstverständlich.

PHP ist auch korrekt eingerichtet bzw. ich nutze die PHP-Kopie mit der hier auch andere zu einem MSSQL-Server connecten.
Im Server Konfigurationsdingens hab ich auch unter TCP/IPs entsprechende IP aktiviert.
Ich find sonst keine Hinweise, was noch falsch sein könnte. :(

/edit
Ntwdblib.dll <-- befindet sich im System32 und PHP-Pfad. Funzt dennoch nicht.

/edit2
*heul*
Zugriff mit Access klappt auch bestens. Nur eben PHP will nit :(

/edit3
Beispieldatei besorgt von nem früheren Projekt.
Da steht zusätzlich drin am Anfang:
with-mssql;
enable-msdblib;


Google hat mir verraten, dass das was mit FreeTDS zu tun hat. Aber sollte das nicht schon eingerichtet sein?!
/edit4
freetds.conf <-- Its foremost job is to relate dataserver names, as known to your programs [1] , to machine names, as known your network. That is, while your machines have names known to the network, the dataservers on your machines have names known only to your FreeTDS client programs.

Also muss ich erst freeDTS meinen lokalen SQL-Server mitteilen, damit ich mit dem externen PHP (läuft nicht lokal) auf diesen zugreifen kann?

Ich glaub, ich häng mich gleich auf...