Verwenden von Kerberos-Konfigurations-Manager zum Diagnostizieren von Kerberos-Problemen in SQL Server

Gilt für: SQL Server

Ursprüngliche KB-Nummer: 2985455

Summe

Verwenden Sie Kerberos-Konfigurations-Manager SQL Server, um Kerberos-Konfigurationsprobleme zu diagnostizieren und zu beheben, die SQL Server Verbindungsfehler verursachen. Das Tool überprüft SQL Server, SQL Server Reporting Services (SSRS) und SQL Server Analysis Services (SSAS)-Instanzen und meldet fehlende oder doppelte Dienstprinzipalnamen (Service Principal Names, SPNs) und Delegierungsprobleme. Es kann auch ein Skript generieren oder den Fix für Sie anwenden. In diesem Artikel wird erläutert, wie Sie das Tool herunterladen, welche Berechtigungen benötigt werden, und wie sie die Ausgabe interpretieren.

Notiz

Kerberos-Konfigurations-Manager wird as-isbereitgestellt, und es werden keine technischen Support oder Updates angeboten. Es wurde nicht aktualisiert, um die SQL Server 2022 und höhere Versionen des Windows Management Instrumentation (WMI)-Anbieters zu verwenden. Verwenden Sie SQLCheck, um Kerberos-Konfigurationsprobleme für diese Versionen zu beheben und zu diagnostizieren.

Funktionsweise von Kerberos-Konfigurations-Manager

Kerberos Konfigurations-Manager kann die folgenden Aufgaben ausführen:

  • Sammeln Sie Informationen über das Betriebssystem, SQL Server Instanzen und AlwaysOn-Verfügbarkeitsgruppenlistener, die auf einem Server installiert sind.
  • Melden Sie alle SPN- und Delegierungskonfigurationen auf dem Server.
  • Identifizieren Sie potenzielle Probleme in SPNs und Delegierungen.
  • Beheben potenzieller SPN-Probleme.

Fehler, die kerberos-Konfigurations-Manager bei der Problembehandlung helfen

Verwenden Sie dieses Tool, um die folgenden Fehler zu beheben:

  • HTTP 401-Fehler, SSRS-Fehler und andere ähnliche Fehler
  • Der SSPI-Kontext kann nicht erstellt werden. Weitere Informationen finden Sie unter Beheben des Fehlers "SSPI-Kontext kann nicht generiert werden" in SQL Server.
  • Fehler bei der Anmeldung für den Benutzer 'NT AUTHORITY\ANONYMOUS LOGON'
  • Anmelden für Benutzer '(null)' fehlgeschlagen
  • Fehler bei der Anmeldung für den Benutzer (leer)

Bevor Sie mit der Problembehandlung beginnen, überprüfen Sie die Voraussetzungen und prüfliste zum Beheben von Konnektivitätsfehlern.

Wenn Sie Administratorzugriff auf den SQL Server Computer haben, können Sie auch SQLCheck (das TOOL für die SQL-Konnektivitätseinstellungen) auf diesem Computer ausführen. Überprüfen Sie die Ausgabe, um die SPN-Konfiguration Ihrer SQL Server Instanz zu überprüfen.

Kerberos-Konfigurations-Manager herunterladen

Laden Sie das Tool aus dem Microsoft Download Center herunter:

Microsoft Kerberos-Konfigurations-Manager für SQL Server.

Sie können das Tool auf jedem Computer in Ihrer Domäne herunterladen und installieren, der eine Verbindung mit dem SQL Server Computer herstellen kann. Überprüfen Sie unbedingt die unterstützten Versionen und Systemanforderungen auf der Download Center-Seite.

Zum Ausführen von Kerberos-Konfigurations-Manager erforderliche Berechtigungen

Um Konnektivitätsprobleme zu beheben, die sich auf SQL Server, SSRS und SSAS auswirken, stellen Sie eine Verbindung mit dem Zielcomputer (dem Computer, auf dem der Dienst gehostet wird) mithilfe eines Domänenbenutzerkontos mit Administratorberechtigungen auf diesem Computer her.

Optional: Wenn Sie das Tool verwenden möchten, um SPN-Probleme zu beheben, die es identifiziert, muss das Domänenkonto über die Berechtigung " Überprüft" in den Dienstprinzipalnamen verfügen.

Starten von Kerberos-Konfigurations-Manager und Herstellen einer Verbindung mit einem Server

Starten Sie nach Abschluss der Installation die KerberosConfigMgr.exe Binärdatei aus dem Installationsordner. Standardmäßig lautet der Speicherort "C:\Programme\Microsoft\Kerberos Konfigurations-Manager" für SQL Server.

Informationen zum Starten einer App als Administrator oder einem anderen Benutzer finden Sie unter "Ausführen", um eine App als Administrator zu starten.

Verwenden Sie eine der folgenden Optionen, um eine Verbindung herzustellen:

  • Herstellen einer Verbindung mit einem Remotecomputer SQL Server Computer: Geben Sie die entsprechenden Werte für Servername, Domänenbenutzername und Kennwort ein.

    Notiz

    Das Tool verwendet eine Windows-API zum Abfragen und Anzeigen von Kerberos-Konfigurationsinformationen für den SQL Server Computer. Geben Sie immer den Namen des Computers ein, auf dem die SQL Server Instanz gehostet wird, auch wenn Sie Kerberos-bezogene Probleme für eine benannte Instanz behandeln.

  • Herstellen einer Verbindung mit einem lokalen Server: Wählen Sie "Verbinden" aus, um Ihre Kerberos-Konfiguration zu analysieren. Sie müssen nicht den Servernamen, den Domänenbenutzernamen oder das Kennwort angeben.

    Notiz

    Das Konto, das das Tool startet, muss ein lokales Administratorkonto sein. Informationen zum Starten einer App als Administrator oder einem anderen Benutzer finden Sie unter "Ausführen", um eine App als Administrator zu starten.

Registerkarten und Befehle in Kerberos-Konfigurations-Manager

Nachdem die Verbindung erfolgreich war, zeigt das Tool alle zugehörigen SPNs an, wie im folgenden Screenshot gezeigt.

Screenshot einer Ansicht aller drei Registerkarten in Kerberos Konfigurations-Manager.

Das Tool verfügt über die folgenden Registerkarten:

  • System: Zeigt die Benutzerinformationen und Computerinformationen an.
  • SPN: Zeigt die SPN-Informationen zu jeder SQL Server Instanz an, die das Tool auf dem Zielserver findet. Außerdem werden Details wie der erforderliche SPN und dessen Status bereitgestellt. Jede Zeile verfügt über Schaltflächen "Generieren " und "Korrigieren ".
  • Delegierung: Identifiziert Probleme, die sich auf die Konfiguration des Dienstkontos für die Delegierung auswirken.

Generieren eines SPN-Generierungsskripts

Verwenden Sie " Generieren " auf der Registerkarte "SPN ", um fehlende SPNs zu finden und ein Skript zu erstellen, das Sie an einer Eingabeaufforderung ausführen können:

  1. Wählen Sie auf der Registerkarte "SPN " in der Spalte " SPN-Skript " die Option " Generieren " für den SPN aus, den Sie skripten möchten.

  2. Geben Sie im daraufhin geöffneten Dialogfeld einen Namen an (in diesem Beispiel generateSPNs), legen Sie " Speichern unter" auf "Kerberos Config Mgr" (.cmd) fest, und wählen Sie dann " Speichern" aus.

    Screenshot des Dialogfelds, um einen Namen für die CMD-Datei anzugeben.

Das Tool erstellt die generateSPNss.cmd Datei. Der Inhalt der Datei ähnelt dem folgenden Beispiel:

:: This script is generated by the Microsoft® SQL Server® Kerberos Configuration Manager tool.

:: The script may update the system information, SPN settings and Delegation configurations of a given server.

:: SPN and Delegation configuration updates require Windows Domain Administrator permission to execute.

:: A Domain Admin should review the configurations recommended by this tool and take appropriate actions to enable Kerberos authentication.

:: Please contact Microsoft Support if Kerberos connection problem persists.

:: The file is intended to be run in domain `<DomainName>.com`"

:: Corrections for MSSQLSvc/`<HostName>.<DomainName>.com` **SetSPN -s MSSQLSvc/`<HostName>`. `<DomainName>`.com UserName**

Verwenden Sie SetSPN, um einen SPN unter dem Dienstkonto für SQL Server zu erstellen.

Beheben von SPN-Problemen

Verwenden Sie auf der Registerkarte "SPN " "Beheben ", um Probleme zu beheben und SPNs hinzuzufügen. Sie können einen SPN nur hinzufügen, wenn Sie über die erforderlichen Berechtigungen verfügen. Wenn Sie "Korrigieren" auswählen, zeigt das Tool die folgende QuickInfo an:

Screenshot der Option

Notiz

Das Tool stellt die Befehle "Fix" und "Generieren " nur für Standardinstanzen und benannte Instanzen bereit, die über statische Ports verfügen. Für benannte Instanzen, die dynamische Ports verwenden, empfiehlt es sich, von dynamischen zu statischen Ports zu wechseln oder das Dienstkonto mit den Berechtigungen zum Registrieren und Aufheben der Registrierung des SPN bei jedem Start des SQL Server Diensts bereitzustellen. Andernfalls müssen Sie die Registrierung manuell aufheben und die entsprechenden SPNs erneut registrieren, wenn der Dienst gestartet wird. Weitere Informationen finden Sie unter Registrieren eines Dienstprinzipalnamens für Kerberos-Verbindungen.

Überprüfen der Delegierungseinstellungen

Verwenden Sie "Delegierung ", um Probleme zu identifizieren, die sich auf die Konfiguration des Dienstkontos für die Delegierung auswirken. Diese Option ist besonders hilfreich für die Problembehandlung von verknüpften Serverproblemen. Wenn beispielsweise die SPN-Überprüfung bestanden, verknüpfte Serverabfragen aber weiterhin fehlschlagen, ist das Dienstkonto möglicherweise nicht für Stellvertretungsanmeldeinformationen konfiguriert. Weitere Informationen finden Sie unter "Verknüpfte Server ( Datenbank-Engine) und Konnektivitätsprobleme mit verknüpften Servern in SQL Server Authentifizierung.For more information, see Linked servers (Datenbank-Engine) and Connectivity issues with linked servers in SQL Server authentication.

Screenshot der Registerkarte

Interpretieren und Reagieren auf die Kerberos-Konfigurations-Manager Diagnose

Überprüfen Sie die Diagnose des Tools, indem Sie die Spalte "Status " überprüfen. Führen Sie basierend auf dem Status die entsprechenden Schritte aus, um das Problem zu beheben. In den folgenden Abschnitten werden die einzelnen Status beschrieben.

Status: Gut

Weitere Informationen: Das aktivierte Element ist ordnungsgemäß konfiguriert. Wechseln zum nächsten Element in der Ausgabe.

Aktion: Es ist keine Aktion erforderlich.

Status: Erforderlicher SPN fehlt

Weitere Informationen: Dieser Status wird angezeigt, wenn der SPN, der in der Spalte "Erforderlicher SPN" aufgeführt ist, für das SQL Server Startkonto in Active Directory fehlt.

Aktion: Führen Sie die folgenden Schritte aus, um den fehlenden SPN hinzuzufügen und zu überprüfen, ob das Problem behoben ist:

  1. Wählen Sie "Korrigieren" aus, um die Informationen im Dialogfeld "Warnung " zu überprüfen.
  2. Wählen Sie "Ja " aus, um den fehlenden SPN zu Active Directory hinzuzufügen.
    • Wenn Ihr Domänenkonto über die erforderlichen Berechtigungen zum Aktualisieren Active Directory verfügt, fügt das Tool dem Active Directory den erforderlichen SPN hinzu.
    • Wenn Ihr Domänenkonto nicht über die erforderlichen Berechtigungen zum Aktualisieren Active Directory verfügt, verwenden Sie "Generieren" oder "Alle generieren", um ein Skript zu generieren, das dem Active Directory Administrator hilft, die fehlenden SPNs hinzuzufügen.
  3. Nachdem die SPNs hinzugefügt wurden, führen Sie den Kerberos Konfigurations-Manager erneut aus, um zu überprüfen, ob die SPN-Probleme behoben sind.

Status: TCP muss für die Verwendung der Kerberos-Konfiguration aktiviert sein.

Weitere Informationen: Dieser Status wird angezeigt, wenn TCP nicht auf dem Clientcomputer aktiviert ist.

Aktion: Führen Sie die folgenden Schritte aus, um das TCP/IP-Protokoll für die SQL Server-Instanz zu aktivieren:

  1. Erweitern Sie in SQL Server-Konfigurations-Manager – Konsole die SQL Server-Netzwerkkonfiguration.
  2. Wählen Sie in der Konsole "Protokolle<instance name>aus.
  3. Wählen Sie in "Details" TCP/IP und dann "Aktivieren" aus.
  4. Wählen Sie in der Konsole SQL Server Services aus.
  5. Wählen Sie in Details SQL Server<instance name>
  6. Wählen Sie "Neu starten" , um den SQL Server-Dienst zu beenden und neu zu starten. Weitere Informationen finden Sie im Abschnitt "Aktivieren oder Deaktivieren eines Servernetzwerkprotokolls" unter Aktivieren oder Deaktivieren eines Servernetzwerkprotokolls.

Status: Dynamischer Port

Weitere Informationen: Dieser Status wird für benannte Instanzen angezeigt, die dynamische Ports verwenden (die Standardkonfiguration). Legen Sie in Umgebungen, in denen Kerberos eine Verbindung mit SQL Server herstellen muss, die benannte Instanz auf einen statischen Port fest, und verwenden Sie diesen Port, wenn Sie den SPN registrieren. Andernfalls wird der spN, der in Active Directory registriert ist, ungültig, wenn die benannte Instanz das nächste Mal mit dem Überwachen eines anderen Ports beginnt.

Notiz

Diese Empfehlung gilt nur für Umgebungen, die von der manuellen SPN-Registrierung abhängen.

Aktion: Führen Sie die folgenden Schritte aus, um die SQL Server-Instanz so zu konfigurieren, dass ein statischer Port verwendet wird:

  1. Erweitern Sie in SQL Server-Konfigurations-Manager - Konsole die SQL Server-Netzwerkkonfiguration<instance name>
  2. Wählen Sie unter "TCP/IP-Eigenschaften" auf der Registerkarte "Protokoll" die Option "Alle überwachen" aus.
  3. Wenn "Alle hören" auf "Ja" festgelegt ist, wechseln Sie zu IP-Adressen, und scrollen Sie zum unteren Rand des Fensters, um die IPAll-Einstellung zu finden.
  4. Löschen Sie den aktuellen Wert in dynamischen TCP-Ports, und geben Sie eine Portnummer in TCP-Port ein.
  5. Wählen Sie "OK" aus, und starten Sie dann die SQL Server-Instanz neu. Weitere Informationen finden Sie unter Konfigurieren eines Servers zum Überwachen eines bestimmten TCP-Ports.
  6. Wenn "Alle hören" auf "Nein" festgelegt ist, wechseln Sie zu IP-Adressen, und überprüfen Sie jede IP-Adresse, die in den KNOTEN IP1 und IP2 angezeigt wird. Entfernen Sie für Adressen, die auf "Aktiviert" festgelegt sind, den aktuellen Wert in den dynamischen TCP-Ports, und legen Sie dann einen Wert im TCP-Port fest.
  7. Wählen Sie "OK" aus, und starten Sie dann die SQL Server-Instanz neu, damit die Einstellungen wirksam werden. Weitere Informationen finden Sie unter Konfigurieren eines Servers zum Überwachen eines bestimmten TCP-Ports.

Status: SpN duplizieren

Weitere Informationen: Dieser Status wird angezeigt, wenn derselbe SPN unter verschiedenen Konten in Active Directory registriert ist.

Aktion: Führen Sie die folgenden Schritte aus, um das doppelte SPN aus Active Directory zu entfernen:

  1. Wählen Sie Korrigieren aus.
  2. Aktivieren Sie die Informationen im Dialogfeld "Warnung ".
  3. Wählen Sie "Ja" aus, um den falschen SPN aus Active Directory zu entfernen.
    • Wenn Ihr Domänenkonto über die erforderlichen Berechtigungen zum Aktualisieren Active Directory verfügt, löscht das Tool den falschen SPN.
    • Wenn Ihr Domänenkonto nicht über die erforderlichen Berechtigungen zum Aktualisieren Active Directory verfügt, verwenden Sie "Generieren" oder "Alle generieren", um ein Skript zu generieren, das Sie Ihrem Active Directory Administrator übergeben können, um die doppelten SPNs zu entfernen.
  4. Nachdem die SPNs entfernt wurden, führen Sie Kerberos-Konfigurations-Manager erneut aus, um zu überprüfen, ob die SPN-Probleme behoben sind.

Notiz

Beim Starten einer Instanz der SQL Server-Datenbank-Engine versucht SQL Server, den Dienstprinzipalnamen für den SQL Server-Dienst zu registrieren. Wenn die Instanz beendet wird, versucht SQL Server, die Registrierung des SPN aufzuheben. Damit dieser Vorgang eintritt, benötigt das SQL Server Dienstkonto die entsprechenden Berechtigungen in Active Directory. Wenn das Dienstkonto nicht über diese Rechte verfügt, tritt keine automatische SPN-Registrierung auf. Arbeiten Sie in diesem Fall mit Ihrem Active Directory-Administrator zusammen, um die SPNs zu registrieren, damit die SQL Server Instanzen die Kerberos-Authentifizierung verwenden können. Weitere Informationen finden Sie unter Registrieren eines Dienstprinzipalnamens für Kerberos-Verbindungen.

Notiz

In Umgebungen, in denen SQL Server gruppiert ist, wird die automatische Registrierung von SPNs nicht empfohlen. Es kann mehr Zeit dauern, um die Registrierung aufzuheben und den SPN in Active Directory erneut zu registrieren, als es dauert, SQL Server online zu kommen. Wenn die SPN-Registrierung nicht rechtzeitig auftritt, werden SQL Server möglicherweise nicht online, da der Clusteradministrator keine Verbindung mit der SQL Server Instanz herstellen kann.

Zusätzliche Optionen in Kerberos-Konfigurations-Manager

Generieren der SPN-Liste über die Befehlszeile

  1. Öffne ein Eingabeaufforderungsfenster. Um Konnektivitätsprobleme zu beheben, die sich auf SSRS auswirken, öffnen Sie ein Verwaltungs-Eingabeaufforderungsfenster.
  2. Wechseln Sie zu dem Ordner, der KerberosConfigMgr.exe enthält.
  3. Geben Sie KerberosConfigMgr.exe -q -l ein.
  4. Geben Sie für weitere Befehlszeilenoptionen ein KerberosConfigMgr.exe -h.

Speichern der Kerberos-Konfiguration eines Servers

  1. Stellen Sie eine Verbindung mit dem Windows-Zielserver her.
  2. Klicken Sie auf Speichern.
  3. Geben Sie an, wo die Datei gespeichert werden soll. Wählen Sie ein lokales Laufwerk oder eine Netzwerkfreigabe aus. Das Tool speichert die Datei im .xml Format.

Anzeigen einer gespeicherten Kerberos-Konfiguration

  1. Wählen Sie Laden aus.
  2. Öffnen Sie die XML-Datei, die Kerberos Konfigurations-Manager generiert hat.

Anzeigen der Protokolldateien des Tools

Standardmäßig generiert das Tool bei jeder Ausführung der Anwendung eine neue Protokolldatei. Sie finden die Protokolldateien in Ihrem Anwendungsdatenordner: %APPDATA%\Microsoft\KerberosConfigMgr.

Hilfe erhalten

Verwenden Sie eine der folgenden Methoden:

  • Zeigen Sie mit dem Mauszeiger auf einen Befehl, um eine QuickInfo anzuzeigen.
  • Führen Sie KerberosConfigMgr.exe -h an der Eingabeaufforderung aus.
  • Wählen Sie die Schaltfläche "Hilfe " auf der Symbolleiste aus.