Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Anmeldung für Benutzer „DOMAIN\MACHINENAME$“ fehlgeschlagen

NETWORK SERVICE und LocalSystem authentifizieren sich immer selbst als das entsprechende Konto lokal (eingebauter\Netzwerkdienst und eingebautes\System), aber beide authentifizieren sich aus der Ferne als Maschinenkonto.

Wenn Sie einen Fehler wie Login failed for user 'DOMAIN\MACHINENAME$' sehen es bedeutet, dass ein Prozess, der als NETWORK SERVICE oder als LocalSystem ausgeführt wird, auf eine Remote-Ressource zugegriffen hat, sich als Computerkonto authentifiziert hat und ihm die Autorisierung verweigert wurde.

Ein typisches Beispiel wäre eine ASP-Anwendung, die in einem App-Pool ausgeführt wird, der die NETWORK SERVICE-Anmeldeinformationen verwendet und eine Verbindung zu einem Remote-SQL-Server herstellt:Der App-Pool authentifiziert sich als der Computer den App-Pool ausführt, und ist dieses Computerkonto, dem Zugriff gewährt werden muss.

Wenn einem Computerkonto der Zugriff verweigert wird, muss dem Computerkonto Zugriff gewährt werden. Wenn der Server sich weigert, sich bei „DOMAIN\MACHINE$“ anzumelden, müssen Sie Anmelderechte für „DOMAIN\MACHINE$“ erteilen, nicht für NETWORK SERVICE. Die Gewährung des Zugriffs auf NETWORK SERVICE würde einen lokalen zulassen Prozess, der als NETZWERKDIENST ausgeführt wird, um eine Verbindung herzustellen, kein Remote-Prozess, da sich der Remote-Prozess als DOMAIN\MACHINE$ authentifizieren wird.

Wenn Sie erwarten, dass die Asp-Anwendung eine Verbindung zum Remote-SQL-Server als SQL-Anmeldung herstellt, und Sie Ausnahmen zu DOMAIN\MACHINE$ erhalten, bedeutet dies, dass Sie Integrated Security in der Verbindungszeichenfolge verwenden. Wenn dies unerwartet ist, bedeutet dies, dass Sie die verwendeten Verbindungszeichenfolgen vermasselt haben.