Fehlermeldung "Der Prinzipalname des Ziels ist nicht korrekt. Der SSPI-Kontext kann nicht generiert werden."

Symptome

Bei einem Programm/Website, das lokal auf einem Entwicklungsrechner läuft, kommt beim Zugriff auf eine Datenbank mit Microsoft SQL Server folgende Fehlermeldung:

System.Data.SqlClient.SqlException: Der Prinzipalname des Ziels ist nicht korrekt. Der SSPI-Kontext kann nicht generiert werden.

Dies geschieht beim Öffnen der Verbindung via SqlConnection.Open().

Der Aufrufstapel schaut grob so aus:

[SqlException (0x80131904): Der Prinzipalname des Ziels ist nicht korrekt. Der SSPI-Kontext kann nicht generiert werden.]
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1307
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +108
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +935
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +143
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +17
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +139
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +448
System.Data.SqlClient.SqlConnection.Open() +130

Das Programm bzw. die Website hat zuvor korrekt funktioniert.

Ursache

Es gibt vermutlich unterschiedlichste Ursachen.

Bei mir ist häufig eine offene VPN-Verbindung auf meinem lokalen Entwicklungsrechner die Ursache.

Lösung

VPN-Verbindung trennen.

Weitere Details

Bei mir gibt es oft folgende Konstellation:

  1. Programm/Website wird lokal mit Visual Studio ausgeführt/debuggt
  2. SQL-Server-Datenbank liegt im lokalen Netzwerk (LAN) auf einem anderen Server
  3. VPN zu externem Kundennetzwerk ist aktiv

Je nach VPN-Client und -Konfiguration kappt dieser lokale Verbindungen, bzw. lässt keine neuen Verbindungen zu.

Deshalb erreicht das Programm/Website auf dem Entwicklungs-Rechner dann nicht mehr die Datenbank, und die oben genannte Fehlermeldung tritt auf.

Hallo,
Ich habe gleich Problem. Wenn ich Visual Studio mit SQL Server verbinden möchte, erhalte ich eine Fehlermeldung: Der Prinzipalname des Ziels ist nicht korrekt. Der SSPI-Kontext kann nicht generiert werden.

Wissen Sie vielleicht was soll ich zu tun ?

Grüß
Stjepan

Hast Du die obigen möglichen Ursachen schon abgeklappert und ausprobiert?

Also, das was diese Google-Suche liefert?

.VPN beim Roaming Zulassen trennen und
VPN über getaktete Netzwerke zulassen trennen.
Muss ich das ausschalten?

Vielleicht liegt es ja gar nicht am VPN.

VPN ist bei mir ein sehr seltener Fall, probiere halt einfach mal die vielen anderen möglichen Lösungen.

Kennst du noch andere Lösungen?