Freigeben über


Übersicht über den Kerberos Configuration Manager für SQL Server

Gilt für: SQL Server

Ursprüngliche KB-Nummer: 2985455

Eine falsche Kerberos-Konfiguration in Ihrem Netzwerk kann verschiedene Konnektivitätsfehler in Microsoft SQL Server verursachen. Kerberos Configuration Manager für SQL Server ist ein Diagnosetool, mit dem Sie Kerberos-bezogene Konnektivitätsprobleme beheben können, die sich auf SQL Server, SQL Server Reporting Services (SSRS) und SQL Server Analysis Services (SSAS) auswirken. Dieser Artikel enthält Informationen zur Verwendung des Kerberos Configuration Manager-Tools und zur Interpretation der Ausgabe des Tools, um Kerberos-Probleme zu beheben, die sich auf SQL Server auswirken.

Notiz

Kerberos Configuration Manager wird wie angegeben bereitgestellt, und es werden keine technischen Support oder Updates angeboten. Es wurde nicht aktualisiert, um SQL Server 2022 und höhere Versionen des WMI-Anbieters zu verwenden. Informationen zur Problembehandlung und Diagnose von SQL Server-bezogenen Kerberos-Konfigurationsproblemen finden Sie unter SQLCheck.

Funktionen des Kerberos-Konfigurations-Managers

Kerberos Configuration Manager kann die folgenden Aufgaben ausführen:

  • Sammeln Sie Informationen zu Betriebssystem-, Microsoft SQL Server-Instanzen und AlwaysOn-Verfügbarkeitsgruppenlistenern, die auf einem Server installiert sind.
  • Melden Sie alle Dienstprinzipalnamen (Service Principal Name, SPN) und Delegierungskonfigurationen auf dem Server.
  • Identifizieren Sie potenzielle Probleme in SPNs und Delegierungen.
  • Beheben potenzieller SPN-Probleme.

Verwendungsszenarios

Mit diesem Tool können Sie die folgenden Ausnahmen beheben:

  • 401

    Hinweis: Diese Fehlermeldung richtet sich an HTTP-Fehler, SSRS-Fehler und andere ähnliche Fehler.

  • Der SSPI-Kontext kann nicht erstellt werden.
  • Fehler bei der Anmeldung für benutzer "NTAUTHORITY\ANONYMOUS LOGON"
  • Anmelden für Benutzer '(null)' fehlgeschlagen
  • Fehler bei der Anmeldung für den Benutzer (leer)

Notiz

Bevor Sie mit der Problembehandlung beginnen, sollten Sie die Voraussetzungen überprüfen und dann die allgemeine Checkliste durchlaufen, um konnektivitätsbezogene Fehler zu beheben.

Notiz

Wenn Sie Administratorzugriff auf Ihren SQL Server-basierten Computer haben, können Sie auch das Tool zur Überprüfung der SQL-Konnektivitätseinstellungen auf diesem Computer ausführen und dann die Ausgabe überprüfen, um die SPN-Konfiguration Ihrer SQL Server-Instanz zu überprüfen.

Herunterladen des Tools

Dieses Tool steht zum Download im Microsoft Download Center zur Verfügung:

Microsoft Kerberos Configuration Manager für SQL Server

Notiz

Sie können das Tool auf jedem Computer in Ihrer Domäne herunterladen und installieren, der eine Verbindung mit dem SQL Server-basierten Computer herstellen kann.

Berechtigungen

Zum Beheben von Verbindungsproblemen, die sich auf SQL, SSRS und SSAS auswirken, stellen Sie mithilfe eines Domänenbenutzerkontos, das über Administratorberechtigungen für diesen Computer verfügt, eine Verbindung mit dem Zielcomputer her (das den Dienst hostet).

Optional: Wenn Sie das Tool verwenden möchten, um SPN-Probleme zu beheben, die vom Tool identifiziert werden, sollte das Domänenkonto über die Berechtigung "Überprüft" für den Namen des Dienstprinzips verfügen.

Verwenden des Tools

Starten Sie nach Abschluss der Installation die KerberosConfigMgr.exe Binärdatei, indem Sie zum Installationsordner navigieren. Standardmäßig lautet der Speicherort "C:\Programme\Microsoft\Kerberos Configuration 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 mit der Problembehandlung zu beginnen:

  • Wenn Sie eine Verbindung mit einem SQL Server-Remotecomputer herstellen möchten, geben Sie die entsprechenden Werte für Servername, Domänenbenutzername und Kennwort ein.

    Notiz

    Das Kerberos Configuration Manager-Tool verwendet eine Windows-API zum Abfragen und Anzeigen von Informationen zur Kerberos-Konfiguration für den SQL Server-Computer. Geben Sie daher 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.

  • Um eine Verbindung mit einem lokalen Server herzustellen, wählen Sie "Verbinden" aus, um Ihre Kerberos-Konfiguration zu analysieren. In diesem Fall müssen Sie nicht den Servernamen, den Domänenbenutzernamen oder das Kennwort angeben.

    Notiz

    Das Konto, das das Tool startet, sollte 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.

Nachdem die Verbindung erfolgreich war, werden alle zugehörigen SPNs im folgenden Screenshot angezeigt.

Screenshot einer Ansicht aller drei Registerkarten in Kerberos Configuration Manager.

In diesem Screenshot verfügt die Benutzeroberfläche über die folgenden Registerkarten:

  • System: Zeigt die Benutzerinformationen und Computerinformationen an.

  • SPN: Zeigt die Informationen zum Dienstprinzipalnamen (Service Principal Name, SPN) zu den einzelnen SQL Server-Instanzen an, die auf dem Zielserver gefunden werden, und enthält Details wie den erforderlichen SPN und dessen Status.

  • Generieren: Hilft Ihnen, fehlende und konfigurierte SPNs zu finden. Es hilft Ihnen auch, das SPN-Generation-Skript zu generieren.

    1. Wählen Sie Generieren aus.
    2. Geben Sie im daraufhin geöffneten Dialogfeld einen Namen ein (in diesem Fall "generateSPNss"), legen Sie "Save As" als Kerberos Config Mgr(.cmd)-Datei fest, und wählen Sie dann "Speichern" aus.

    Dialogfeld zum Angeben eines Namens für die CMD-Datei.

Die generateSPNss.cmd Datei wird erstellt, und Sie können diese Datei an einer Eingabeaufforderung ausführen. Der Inhalt der generateSPNss.cmd 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.

  • Verwenden Sie "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, wird der folgende QuickInfo angezeigt:

    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, empfehlen wir, von dynamischen zu statischen Ports zu wechseln oder erforderliche Berechtigungen für das Dienstkonto bereitzustellen, um den SPN bei jedem Start des SQL-Diensts zu registrieren und aufzuheben. 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.

  • Delegierung: Verwenden Sie "Delegierung", um Probleme zu identifizieren, die sich auf die Konfiguration des Dienstkontos für die Delegierung auswirken. Dies ist besonders hilfreich bei der Problembehandlung von verknüpften Serverproblemen. Wenn beispielsweise das AUSchecken von SPN einwandfrei ist, aber weiterhin Probleme auftreten, die sich auf verknüpfte Serverabfragen auswirken, kann dies darauf hindeuten, dass das Dienstkonto nicht für Stellvertretungsanmeldeinformationen konfiguriert ist. Weitere Informationen finden Sie im Onlinethema "Bücher" unter " Konfigurieren von verknüpften Servern für Delegierung".

    Screenshot der Registerkarte

Interpretieren und Handeln der Diagnose vom Kerberos Configuration Manager

Überprüfen Sie die Diagnose des Tools, indem Sie auf die Spalte "Status " verweisen. Führen Sie basierend auf dem Status die entsprechenden Schritte aus, um das Problem zu beheben.

  • 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 gemeldet, wenn der in der Spalte "Erforderlicher SPN" erwähnte Dienstprinzipalname (Service Principal Name, SPN ) für das SQL Server-Startkonto in Active Directory fehlt.

    Aktion: Führen Sie die folgenden Schritte aus, um zu überprüfen, ob die SPN-Probleme behoben sind:

    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.
    3. Wenn Ihr Domänenkonto über die erforderlichen Berechtigungen zum Aktualisieren von Active Directory verfügt, wird der erforderliche SPN zu Active Directory hinzugefügt.
    4. Wenn Ihr Domänenkonto nicht über erforderliche Berechtigungen zum Aktualisieren von Active Directory verfügt, verwenden Sie "Generieren " oder "Alle generieren" , um das Skript zu generieren, das dem Active Directory-Administrator hilft, die fehlenden SPNs hinzuzufügen.
    5. Nachdem die SPNs hinzugefügt wurden, führen Sie den Kerberos Configuration 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 für <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 für <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".

  • Status – Dynamischer Port

    Weitere Informationen: Dieser Status wird für benannte Instanzen angezeigt, die dynamische Ports verwenden (Standardkonfiguration). In Umgebungen, in denen Sie Kerberos zum Herstellen einer Verbindung mit SQL Server verwenden müssen, sollten Sie die benannte Instanz so festlegen, dass ein statischer Port verwendet wird, und diesen Port verwenden, wenn Sie den SPN registrieren. Andernfalls wird der spN, der in Active Directory registriert ist, ungültig, wenn eine benannte Instanz das nächste Mal beginnt, auf einen anderen Port als den port zu lauschen, unter dem der SPN registriert wurde.

    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, erweitern Sie protokolle für <instance name>, und doppelklicken Sie dann auf TCP/IP.
    2. Wählen Sie in den TCP/IP-Eigenschaften "Alle überwachen" im Protokoll 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 den 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 – Doppelter SPN

    Weitere Informationen: Dieses Szenario kann auftreten, wenn derselbe SPN unter verschiedenen Konten in Active Directory registriert ist.

    Aktionen: Führen Sie die folgenden Schritte aus, um einen SPN zu Active Directory hinzuzufügen:

    1. Wählen Sie Korrigieren aus.

    2. Aktivieren Sie die Informationen im Dialogfeld "Warnung ".

    3. Wählen Sie "Ja " aus, um den fehlenden SPN zu Active Directory hinzuzufügen.

      • Wenn Ihr Domänenkonto über die erforderlichen Berechtigungen zum Aktualisieren von Active Directory verfügt, wird der falsche SPN gelöscht.

      • Wenn Ihr Domänenkonto nicht über erforderliche Berechtigungen zum Aktualisieren von Active Directory verfügt, verwenden Sie "Generieren " oder "Alle generieren", um das erforderliche Skript zu generieren, das Sie Ihrem Active Directory-Administrator bereitstellen können, um die doppelten SPNs zu entfernen.

    4. Nachdem die SPNs entfernt wurden, führen Sie den Kerberos Configuration 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 Dienstprinzipalnames wieder aufzuheben. Damit dies geschieht, benötigt das SQL Server-Dienstkonto die entsprechenden Berechtigungen in Active Directory. Wenn das Dienstkonto jedoch nicht über diese Rechte verfügt, tritt die automatische SPN-Registrierung nicht auf, und Sie müssen mit Ihrem Active Directory-Administrator zusammenarbeiten, um diese SPNs zu registrieren, damit die SQL-Instanzen die Kerberos-Authentifizierung aktivieren können. Weitere Informationen finden Sie unter Registrieren eines Dienstprinzipalnamens für Kerberos-Verbindungen.

    Notiz

    In Umgebungen, in denen SQL gruppiert ist, wird die automatische Registrierung von SPNs nicht empfohlen, da es möglicherweise länger dauert, die Registrierung des SPN aufzuheben und den SPN in Active Directory erneut zu registrieren als die Zeit, die sql Server benötigt, um online zu gelangen. Wenn die SPN-Registrierung nicht rechtzeitig auftritt, kann dies verhindern, dass SQL Server online wird, da der Clusteradministrator keine Verbindung mit der SQL Server-Instanz herstellen kann.

Zusätzliche Optionen

So generieren Sie die SPN-Liste über die Befehlszeile:

  1. Wechseln Sie zur Befehlszeile.

    Notiz

    Öffnen Sie ein Administrator-Eingabeaufforderungsfenster, um Verbindungsprobleme zu beheben, die sich auf SSRS auswirken.

  2. Wechseln Sie zu dem Ordner, der KerberosConfigMgr.exe enthält.

  3. Geben Sie KerberosConfigMgr.exe -q -l ein.

  4. Geben Sie weitere Befehlszeilenoptionen ein KerberosConfigMgr.exe -h.

So speichern Sie die Kerberos-Konfigurationsinformationen eines Servers:

  1. Stellen Sie eine Verbindung mit dem Windows-Zielserver her.
  2. Klicken Sie auf Speichern.
  3. Geben Sie den Speicherort an, in dem die Datei gespeichert werden soll. Er kann sich auf einem lokalen Laufwerk oder einer Netzwerkfreigabe befinden. Die Datei wird im .xml Format gespeichert.

So zeigen Sie die Kerberos-Konfigurationsinformationen eines Servers aus der gespeicherten Datei an:

  1. Wählen Sie Laden aus.
  2. Öffnen Sie die XML-Datei, die von Kerberos Configuration Manager generiert wird.

So zeigen Sie die Protokolldateien für dieses Tool an:

Standardmäßig wird jede Protokolldatei generiert, wenn die Anwendung im Anwendungsdatenordner ausgeführt wird: %APPDATA%\Microsoft\KerberosConfigMgr.

Verwenden Sie eine der folgenden Methoden, um Hilfe zu erhalten:

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

Siehe auch