Benutzer mit den meisten Antworten
Linked Server - Login failed for user "NT Authority\Anonymous Logon - MSG 18456"

Frage
-
Guten Morgen,
ich habe ein Problem mit einer Linked Server-Verbindung.
Folgende Situation:
Ich habe zwei SQL-Server (Server1 und Server2). Server2 habe ich als Linked Server auf Server1 konfiguriert. Im Security-Reiter des Linked Servers habe ich "Be made using the login's current security context" ausgewählt, ansonsten habe ich dort nichts weiter konfiguriert.
1. Wenn ich nun im SSMS auf Server1 eine Abfrage starte, bei der sich die Datenbank auf Server2 befinden, funktioniert dies Problemlos.
Durch Ausführen dieses Skripts (https://docs.microsoft.com/de-de/sql/database-engine/configure-windows/register-a-service-principal-name-for-kerberos-connections?view=sql-server-2017):
SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;
Habe ich herausgefunden, dass hier die NTLM-Authenifzierungs-Methodik verwendet wird.
2. Ich starte auf meinem AdminPC das SSMS und verbinde mich mit Server1 und starte eine Abfrage bei der sich benötigte Datenbank auf Server2 befindet, erhalte ich folgende Fehlermeldung:
Msg 18456, Level 14, State 1, Line 1 Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Bei dieser Verbindungs-Methodik wird Kerberos verwendet.
Ich habe hierzu folgenden interssanten Artikel gefunden:
https://www.sqlshack.com/how-to-link-two-sql-server-instances-with-kerberos/
Ich habe mittels MS SQL Server Kerberos Configuration Manager sichergestellt, dass die SPN's gesetzt. Allerdings verwende ich hierfür für Server1 und Server2 für den SQL-Server-Service als auch den SPN den lokalen User "NT SERVICE\MSSQLSERVER".
Aus diesem Grund kann ich auch keine Delegation beim User im Active-Directory (wie im Link oben beschrieben) setzen.
Nun meine Fragen:
1. Könnte es sein, dass ich für unter 2. geschildertes Szenario Active-Directory-Domain-User für den SQL-Server-Service und SPN verwenden muss, damit das funktioniert?
2. Wenn nicht, was machen ich sonst noch falsch? ;)
Grüße
Julian
Antworten
-
Eine grundsätzliche Frage:
Wenn ich den SQL-Server-Service-Account ändere, genügt es dann dies ausschließlich über den SQL-Server Configuration Manager zu machen, oder muss ich da an anderen stellen noch etwas berücksichtigen?
Hallo Julian,
Du solltest nur diesen Weg wählen, da hierüber auch sichergestellt wird, dass die notwendigen Berechtigungen gesetzt werden.
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort markiert Julian79 Dienstag, 10. September 2019 13:31
-
Ich konnte das Problem wie folgt lösen:
1. Server1: Für den SQL-Service Account einen Domain-User "Domain\SQLdomUser" im Configuration Manager gesetzt.
2. Server1: SPN für MSSQLSvc/Server1 mit dem Domain-User "Domain\SQLdomUser" aktualisiert
3. Active Directory: im User "Domain\SQLdomUser" unter delegation "Trust this user for delegation to specified services only" + Use Kerberos Only + MSQLSvc für Server2 (ohne Port) + MSQLSvc für Server2 (Port 1433).
FERTIG! :-)
Eine grundsätzliche Frage:
Wenn ich den SQL-Server-Service-Account ändere, genügt es dann dies ausschließlich über den SQL-Server Configuration Manager zu machen, oder muss ich da an anderen stellen noch etwas berücksichtigen?
- Als Antwort markiert Julian79 Dienstag, 10. September 2019 13:31
Alle Antworten
-
Ich konnte das Problem wie folgt lösen:
1. Server1: Für den SQL-Service Account einen Domain-User "Domain\SQLdomUser" im Configuration Manager gesetzt.
2. Server1: SPN für MSSQLSvc/Server1 mit dem Domain-User "Domain\SQLdomUser" aktualisiert
3. Active Directory: im User "Domain\SQLdomUser" unter delegation "Trust this user for delegation to specified services only" + Use Kerberos Only + MSQLSvc für Server2 (ohne Port) + MSQLSvc für Server2 (Port 1433).
FERTIG! :-)
Eine grundsätzliche Frage:
Wenn ich den SQL-Server-Service-Account ändere, genügt es dann dies ausschließlich über den SQL-Server Configuration Manager zu machen, oder muss ich da an anderen stellen noch etwas berücksichtigen?
- Als Antwort markiert Julian79 Dienstag, 10. September 2019 13:31
-
Eine grundsätzliche Frage:
Wenn ich den SQL-Server-Service-Account ändere, genügt es dann dies ausschließlich über den SQL-Server Configuration Manager zu machen, oder muss ich da an anderen stellen noch etwas berücksichtigen?
Hallo Julian,
Du solltest nur diesen Weg wählen, da hierüber auch sichergestellt wird, dass die notwendigen Berechtigungen gesetzt werden.
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort markiert Julian79 Dienstag, 10. September 2019 13:31