5 Stimmen

Die Verbindung zu einem mssql-Server von einem entfernten Rechner aus ergibt Login fehlgeschlagen für Benutzer ''

Ich erhalte diese Fehlermeldung, wenn ich versuche, eine Verbindung zu einem entfernten SQL-Server mit dieser Verbindungszeichenfolge herzustellen.

Fehler:

ODBC-Fehler: 28000118452[Microsoft][ODBC SQL Server Treiber][SQL Server]Anmeldung fehlgeschlagen für Benutzer ''. Der Benutzer ist nicht mit einer mit einer vertrauenswürdigen SQL Server-Verbindung verbunden.

Verbindungszeichenfolge:

"DRIVER={SQL Server};SERVER=testserver,1433;Trusted_Connection={Yes};"

Beachten Sie, dass die gleiche Verbindungszeichenfolge auch funktioniert, wenn ich den lokalen Computer angebe.

Meine Frage: Warum denkt der entfernte SQL-Server, dass mein Benutzername leer ist ''?

Ich habe zuerst eine gültige Anmeldung mit der Win32-API WNetAddConnection auf dem entfernten Rechner durchgeführt.

Bearbeiten: Ich erhalte den gleichen Fehler, wenn ich eine Verbindung von Management Studio aus herstelle. Aber ich dachte, mein Programm hätte eine größere Chance zu funktionieren, da ich zuerst eine Verbindung zum entfernten Rechner hergestellt habe.

Edit2: Anmerkung: Ich brauche wirklich eine Lösung, die Windows-Authentifizierung verwendet. Ich habe es bereits mit SQL-Authentifizierung arbeiten.

1voto

Moose Punkte 5214

Gedanken:

1.) Sind beide Rechner in der gleichen Domäne? Ich denke, dass dies wahrscheinlich der Fall ist, da Sie darauf hinweisen, eine Verbindung mit WNet* herzustellen...

Wenn nicht, wird die integrierte Sicherheit Probleme bereiten.

Bearbeiten: Ich sehe, dass sich beide Rechner nicht in derselben Domäne befinden. Um Integrated Security zu verwenden, muss die Domäne, in der sich der SQL Server befindet, der Domäne vertrauen, in der sich Ihr lokaler Rechner befindet.

Eine weitere Bearbeitung: Belege für die obige Aussage.

Von Link: Diese Fehlermeldung kann erscheinen, wenn es sich bei dem Benutzer, der sich anmeldet, um ein Domänenkonto aus einer anderen, nicht vertrauenswürdigen Domäne als der Domäne des SQL Servers handelt. Der nächste Schritt in diesem Fall besteht entweder darin, den Client-Computer in dieselbe Domäne wie den SQL Server zu verschieben und ihn für die Verwendung eines Domänenkontos einzurichten oder gegenseitiges Vertrauen zwischen den Domänen einzurichten. Die Einrichtung des gegenseitigen Vertrauens ist ein kompliziertes Verfahren und sollte mit großer Sorgfalt und unter Berücksichtigung von Sicherheitsaspekten durchgeführt werden.

2.) Vergewissern Sie sich, dass die SPNs auf dem Server richtig eingestellt sind.

Siehe HIER für weitere Anleitungen, aber im Grunde tun Sie das:

setspn -L Servername

einer der SPNs aussehen muss:

MSSQLSvc/Servername:1433

3.) Eine weitere Bearbeitung: Wenn keiner der beiden Rechner einer Domäne angehört, müssen Sie lediglich eine lokale Benutzerkennung und ein lokales Kennwort haben, die auf beiden Rechnern übereinstimmen.

Beispiel: Ein Benutzer namens brian auf beiden Rechnern, und beide Benutzerkennwörter lauten "letmein".

0voto

Ray Lu Punkte 25327

Möglicherweise benötigen Sie eine SQL-Authentifizierung durch Angabe von Benutzer und Passwort in der Verbindungszeichenfolge.

EDIT. Ich war neugierig, und habe gerade eine gute Dokumentation über So geht's: Zugriff auf SQL Server mit integrierter Windows-Sicherheit

-1voto

Maltrap Punkte 2610

Ich denke, der Fehler könnte daran liegen, dass der Abschnitt UserId nicht ausgefüllt ist (was für Windows Auth korrekt ist).

Versuchen Sie eine Verbindungszeichenfolge wie:

Server=meineServerAdresse;Datenbank=meineDatenbank;Vertrauenswürdige_Verbindung=True;

Eine weitere Alternative, die identisch sein soll:

Datenquelle=meineServerAdresse;Initial Katalog=meineDatenbank;Integriert Sicherheit=SSPI;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X