Die Frage hier unterscheidet sich von 1 & 2
Wenn Sie versuchen, eine Verbindung zu einer SQL Server-Datenbank herzustellen, die sich auf einem anderen System im Netzwerk befindet, befinden sich beide in einer Arbeitsgruppe. Wenn Sie versuchen, mit SQL Server Management Studio mit Windows-Authentifizierung eine Verbindung zu einer SQL Server 2008-Instanz herzustellen, wird eine Verbindung hergestellt.
Beim Versuch, eine Verbindung über meine Anwendung herzustellen, wird jedoch der folgende Fehler angezeigt
(Anmeldung fehlgeschlagen. Die Anmeldung stammt aus einer nicht vertrauenswürdigen Domäne und kann nicht mit der Windows-Authentifizierung verwendet werden.) Native = 18452).
Wenn SQL Server Management Studio eine Verbindung herstellen kann, was wäre erforderlich, damit meine Anwendung eine Verbindung herstellen kann?
quelle
Antworten:
Da Sie in einer Arbeitsgruppe ausgeführt werden, ist die einzig mögliche Authentifizierung die Verwendung von "gespiegelten NT-Konten" . Dies bedeutet, dass der Prozess, der die Authentifizierung versucht, unter einer Identität ausgeführt werden muss , die auf dem Host, der den Prozess authentifiziert, "gespiegelt" ist. Gespiegelte Konten sind unterschiedliche lokale Konten mit identischem Namen und Kennwort auf beiden Hosts, die die Authentifizierung durchführen.
So muss es folgen , dass Sie SSMS von einem Konto laufen lassen, dass es sich auf dem SQL - Server - Host gespiegelt (zB.
<computername>\Administrator
, Die durch die gespiegelt wird<sqlhost>\Administrator
und das gleiche Passwort). Beachten Sie, dass die Benutzerkontensteuerung hier nichts zu tun hat (dhrunning as administrator
nicht hilft).Ihre Anwendung wird wahrscheinlich unter einem anderen lokalen Konto ausgeführt (Standard-IIS-Appool vielleicht?), Und das Konto, unter dem die Anwendung ausgeführt wird, wird nicht auf dem SQL Server-Host gespiegelt.
Ihre beste Lösung besteht darin, das provisorische Netzwerk zu verlassen und eine ordnungsgemäße AD (Domäne) bereitzustellen. Stellen Sie vorübergehend sicher, dass Sie Ihre Anwendung unter einem Konto ausführen, das auf dem SQL Server-Hostcomputer gespiegelt ist .
quelle
Wenn Sie Windows 7 verwenden, müssen Sie möglicherweise "als Administrator ausführen". Auf diese Weise kann die App Ihre Windows-Anmeldeinformationen wiederverwenden und an den SQL Server übergeben. Andernfalls übergeben Sie Gastanmeldeinformationen an den SQL Server.
quelle