Wenn jemand versucht, eine Verbindung zu einer SQL Server-Instanz herzustellen, wird folgender Fehler angezeigt:
Es ist nicht möglich, einen SSPI-Kontext zu generieren.
Gestern hatten wir einen Stromausfall (ich weiß nicht, wie ich diesen Ausdruck auf Englisch ausdrücken soll) und ich musste unsere Server herunterfahren.
Auf der Suche nach Antworten fand ich Folgendes:
Verbindungsproblem mit SQL Server 2008: SSPI-Kontext kann nicht generiert werden
Aber es hilft mir nicht, weil sie bis gestern gut funktionieren. Ich möchte nichts ändern. Aber wenn es sein muss, werde ich es ändern.
Obs: Ich kann den Server jetzt nicht neu starten.
Edit: Seit ich meine Antwort habe, haben wir keine Fehler gehabt.
gpupdate /force
. Mehr zu diesem schönen Thema hier Aber ich würde empfehlen, diese Aufgabe dem Server-Manager zu übergeben.Antworten:
'SSPI-Kontext kann nicht generiert werden' ist ein generischer Fehler. Dies kann durch viele Probleme verursacht werden, z. B. durch ein überladenes Kennwort, Taktverschiebung, Active Directory-Zugriffsberechtigungen, Fehler beim Registrieren eines SPN usw.
Es gibt keine Lösung für dieses Problem. Die einzige "Lösung" besteht darin , die Ursache gemäß KB811889 und / oder Fehlerbehebung bei Kerberos-Fehlern zu untersuchen . Das Anwenden der einen oder anderen Lösung aus zufälligen Internetquellen, ohne die Ursache zu verstehen, kann das Problem lösen oder nicht, kann Frustration verursachen oder nicht, kann unwiderruflichen Schaden verursachen oder nicht.
quelle
Wir haben das
SQL SERVICE user
in "Domain Admin
" geändert .Ich habe einige Nachforschungen angestellt, um zu wissen, warum dies geschieht. Wenn Sie den Dienst herunterfahren, benötigen Sie ein Konto mit Berechtigungen, um einen neuen SPN zu erstellen (wenn er wieder aktiviert wird). Wenn Sie einen Dienst ohne ihn starten, wird er im SSPI-KONTEXT NICHT ERZEUGT angezeigt.
Wir ändern die Berechtigungen unseres Systemkontos.
Hoffe es hilft jemandem.
quelle
Wir hatten dieses Problem, nachdem wir eine Datenbank von PROD genommen und in der Qualitätssicherung wiederhergestellt hatten. Unsere Anwendung hat drei Datenbanken auf drei Servern aufgerufen und war ansonsten nicht kompliziert.
Es stellte sich heraus, dass ein falscher SPN (Service Principal Name) dem Dienstkonto, unter dem die Verbindung hätte ausgeführt werden sollen, im Wege stand. Wir haben dies mithilfe von Programme> Microsoft Kerberos Config Manager festgestellt.
Die kurzfristige Lösung bestand darin, SQL Server Configuration Manager zu verwenden und die SQL Server- und SQL Server Agent-Verbindungen vom Dienstkonto in "LocalSystem" unter "BuiltIn-Konto verwenden" zu ändern.
quelle
SSPI-Kontext kann nicht generiert werden kann genau das bedeuten. Wenn ein Client eine Verbindung zu einem SQL Server herstellt, verwendet er eine Generierungsmethode, die den vollqualifizierten Domänennamen und den Port des Diensttyps (MsSQLsvr) Server enthält. Es generiert DNS, um den Servernamen zu generieren. Wenn der Name aufgrund von CNAMEs oder Hostdateien usw. falsch aufgelöst wird, schlägt die Generierung fehl. Pingen Sie den gewünschten Server an und sehen Sie, welche Antwort Sie erhalten. Wenn es sich nicht um den vollqualifizierten Domänennamen des SQL-Servers handelt, wird der SPN falsch generiert und verursacht diesen Fehler.
quelle
In einigen Situationen wird dieser Fehler aufgrund der SPN-Einstellungen angezeigt. Wenn Sie beispielsweise Disaster Recovery-Tests für einen neuen Server durchführen, wird beim Herstellen einer Verbindung zu SQL Server möglicherweise ein SSPI-Fehler angezeigt. Noch seltsamer ist, dass Sie möglicherweise eine Verbindung mit SQL Server Management Studio herstellen können, jedoch keine Verbindung über ODBC oder OLEDB. Möglicherweise gibt es eine vorübergehende Problemumgehung, mit der Sie wahrscheinlich auf die Datenbank zugreifen können.
Problemumgehung : Erstellen Sie auf jedem Clientcomputer, der versucht, eine Verbindung zum SQL Server herzustellen , einen Eintrag in der Hostdatei jeder Arbeitsstation. Der genaue Mechanismus, mit dem das Problem behoben wird, ist nicht bestätigt. Es kann jedoch sein, dass die Verwendung des SPN die Notwendigkeit des SPN außer Kraft setzt.
Obwohl dies nicht in allen Fällen garantiert behoben werden kann, werden Sie höchstwahrscheinlich wieder einsatzbereit sein. Dies sollte nicht als dauerhafte Lösung angesehen werden. Sie sollten den SPN oder andere Probleme in einer idealen Situation lösen. Wenn Sie jedoch Probleme mit alten Windows-Computern haben, auf denen ein nicht unterstütztes Betriebssystem ausgeführt wird, oder wenn Sie nur Proof-of-Concept-Disaster-Recovery-Tests durchführen, sollten Sie dort sein, wo Sie sein müssen, um das Licht an zu halten oder die Produktion wieder in Betrieb zu nehmen.
quelle
Ich habe dieses Problem festgestellt und es wurde behoben, indem der SPN-Eintrag in den Attributen des Computerkontos in AD für den Server entfernt wurde
Suchen Sie das Computerkonto in AD-Benutzer und -Computer (erweiterte Ansicht).
Entfernen Sie dann die beiden Einträge in servicePrincipalName für MSSQLSvc
quelle
Ich hatte ein ähnliches Problem. Am Ende musste ich Einträge aus den SPN-Informationen auf dem Computerkonto in ADSIEdit entfernen.
Nach dem Entfernen der Einträge habe ich den SQL-Dienst neu gestartet und den SPN mit dem von mir erstellten Domänenressourcenkonto registriert. Ich konnte dann remote auf SQL Server zugreifen.
quelle
Für mich bestand die Lösung darin, SQL Studio als Domänenbenutzer mit folgendem Befehl auszuführen:
runas / user: OtherDomain \ User SSMS.exe
quelle
Ich habe dieses Problem erst kürzlich erlebt. Ich wurde als NT-SERVICE-Konto ausgeführt, und als ich zu einem Dienstkonto wechselte, konnte ich keine Verbindung mehr über SSMS mit dem Computernamen oder dem vollqualifizierten Domänennamen herstellen. Ich könnte mich mit der IP-Adresse verbinden. Beim Graben stellte ich fest, dass der SPN in Active Directory für die SQL-Instanz auf dem Computer registriert war. Nachdem ich dies entfernt und dann dem Dienstkonto hinzugefügt und den SQL-Computer neu gestartet hatte, funktionierte alles wie es sollte. Gerne stellen wir Ihnen bei Bedarf weitere Details zur Verfügung.
quelle