Freigeben über


Übersicht über die 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 auswirken. SQL Server Analysis Services (SSAS). 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.

Hinweis

Kerberos-Configuration Manager wird unverändert bereitgestellt, und es werden keine technischen Support oder Updates dafür angeboten. Es wurde nicht für die Verwendung von SQL Server 2022 und höheren Versionen des WMI-Anbieters aktualisiert. Informationen zur Problembehandlung und Diagnose von problemen mit SQL Server Kerberos-Konfiguration finden Sie unter SQLCheck.

Funktionen des Kerberos-Configuration Manager

Kerberos-Configuration Manager können die folgenden Aufgaben ausführen:

  • Sammeln Sie Informationen über das Betriebssystem, Microsoft SQL Server-Instanzen und Always On Verfügbarkeitsgruppenlistener, die auf einem Server installiert sind.
  • Melden Aller Dienstprinzipalnamen (Service Principal Name, SPN) und Delegierungskonfigurationen auf dem Server.
  • Identifizieren potenzieller Probleme in SPNs und Delegierungen.
  • Beheben sie potenzielle SPN-Probleme.

Verwendungsszenarien

Dieses Tool unterstützt Sie bei der Problembehandlung für die folgenden Ausnahmen:

  • 401

    Hinweis: Diese Fehlermeldung gilt für HTTP-Fehler, SSRS-Fehler und andere ähnliche Fehler.

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

Hinweis

Bevor Sie mit der Problembehandlung beginnen, empfehlen wir Ihnen, die Voraussetzungen zu überprüfen und dann die allgemeine Prüfliste zur Problembehandlung von Konnektivitätsfehlern durchzugehen.

Hinweis

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-instance zu überprüfen.

Herunterladen des Tools

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

Microsoft Kerberos Configuration Manager für SQL Server

Hinweis

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

Stellen Sie zum Beheben von Konnektivitätsproblemen, die sich auf SQL, SSRS und SSAS auswirken, eine Verbindung mit dem Zielcomputer (der den Dienst hostet) her, indem Sie ein Domänenbenutzerkonto verwenden, das über Administratorberechtigungen für diesen Computer verfügt.

Optional: Wenn Sie das Tool zum Beheben von SPN-Problemen verwenden möchten, die vom Tool identifiziert werden, sollte das Domänenkonto über die Berechtigung Überprüfter Name des Schreibzugriffs in Dienstprinzipal 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 ein anderer Benutzer finden Sie unter Verwenden der Ausführung zum Starten einer App als Administrator.

Verwenden Sie eine der folgenden Optionen, um die Problembehandlung zu starten:

  • Um eine Verbindung mit einem Remotecomputer SQL Server herzustellen, geben Sie die entsprechenden Werte für Servername, Domänenbenutzername und Kennwort ein.

    Hinweis

    Das Kerberos-Configuration Manager-Tool verwendet eine Windows-API, um Informationen zur Kerberos-Konfiguration für den SQL Server Computer abzufragen und anzuzeigen. Geben Sie daher immer den Namen des Computers ein, auf dem die SQL Server instance gehostet wird, auch wenn Sie Kerberos-bezogene Probleme für einen benannten instance beheben.

  • 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 weder den Servernamen noch den Domänenbenutzernamen oder das Kennwort angeben.

    Hinweis

    Das Konto, das das Tool startet, sollte ein lokales Administratorkonto sein. Informationen zum Starten einer App als Administrator oder ein anderer Benutzer finden Sie unter Verwenden der Ausführung zum Starten einer App als Administrator.

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

Screenshot einer Ansicht aller drei Registerkarten in Kerberos Configuration Manager.

In diesem Screenshot enthält die Benutzeroberfläche die folgenden Registerkarten:

  • System: Zeigt die Benutzer- und Computerinformationen an.

  • SPN: Zeigt die Informationen zum Dienstprinzipalnamen (Service Principal Name, SPN) zu jeder der SQL Server-Instanzen an, die auf dem Zielserver gefunden werden, und stellt Details wie den erforderlichen SPN und dessen status bereit.

  • Generieren: Hilft Ihnen, fehlende und konfigurierte SPNs zu finden. Es hilft Ihnen auch, das SPN-Generierungsskript 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 "Speichern unter"-Typ 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 Fix , 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

    Hinweis

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

  • Delegierung: Verwenden Sie Delegierung , um Probleme zu identifizieren, die sich auf die Konfiguration des Dienstkontos für die Delegierung auswirken. Dies ist besonders nützlich bei der Behandlung von Verbindungsserverproblemen. Wenn beispielsweise die SPN-Auscheckung in Ordnung ist, aber weiterhin Probleme auftreten, die sich auf Verbindungsserverabfragen auswirken, kann dies darauf hindeuten, dass das Dienstkonto nicht für das Delegieren von Anmeldeinformationen konfiguriert ist. Weitere Informationen finden Sie in der Onlinedokumentation unter Konfigurieren von Verbindungsservern für die Delegierung.

    Screenshot der Registerkarte

Interpretieren und Behandeln der Diagnose aus dem Kerberos-Configuration Manager

Überprüfen Sie die Diagnose über das Tool, indem Sie auf die Spalte Status verweisen. Führen Sie basierend auf den status die entsprechenden Schritte aus, um das Problem zu beheben.

  • Status – Gut

    Weitere Informationen: Das aktivierte Element ist ordnungsgemäß konfiguriert. Wechseln Sie 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 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 wurden:

    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 die erforderlichen Berechtigungen zum Aktualisieren von Active Directory verfügt, verwenden Sie Generate or Generate All (Alle generieren ), um das Skript zu generieren, mit dem der Active Directory-Administrator die fehlenden SPNs hinzufügen kann.
    5. Nachdem die SPNs hinzugefügt wurden, führen Sie Kerberos Configuration Manager erneut aus, um zu überprüfen, ob die SPN-Probleme behoben wurden.
  • Status: TCP muss aktiviert sein, um die Kerberos-Konfiguration verwenden zu können.

    Weitere Informationen: Diese status wird angezeigt, wenn TCP auf dem Clientcomputer nicht aktiviert ist.

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

    1. Erweitern Sie in SQL Server-Konfigurations-Manager - KonsoleSQL Server Netzwerkkonfiguration.

    2. Wählen Sie unter Konsoledie Option Protokolle für <instance name>aus.

    3. Wählen Sie unter Detailsdie Option TCP/IP und dann Aktivieren aus.

    4. Wählen Sie unter Konsoledie Option SQL Server Dienste aus.

    5. Wählen Sie unter Detailsdie Option SQL Server für <instance name>aus.

    6. Wählen Sie Neu starten aus, 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: Diese status wird für benannte Instanzen angezeigt, die dynamische Ports verwenden (Standardkonfiguration). In Umgebungen, in denen Sie Kerberos verwenden müssen, um eine Verbindung mit SQL Server herzustellen, sollten Sie ihren benannten instance so festlegen, dass ein statischer Port verwendet wird, und diesen Port verwenden, wenn Sie den SPN registrieren. Andernfalls wird der in Active Directory registrierte SPN ungültig, wenn ein benannter instance das nächste Mal beginnt, an einem anderen Port als dem port zu lauschen, unter dem der SPN registriert wurde.

    Hinweis

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

    Aktion: Führen Sie die folgenden Schritte aus, um die SQL Server instance für die Verwendung eines statischen Ports zu konfigurieren:

    1. Erweitern Sie in SQL Server-Konfigurations-Manager - KonsoleSQL Server Netzwerkkonfiguration, erweitern Sie Protokolle für <instance name>, und doppelklicken Sie dann auf TCP/IP.
    2. Wählen Sie unter TCP/IP-Eigenschaften im Protokolldie Option Alle lauschen aus.
    3. Wenn Alle lauschen auf Ja festgelegt ist, wechseln Sie zu IP-Adressen, und scrollen Sie zum unteren Rand des Fensters, um die Einstellung IPAll 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 instance neu. Weitere Informationen finden Sie unter Konfigurieren eines Servers zum Überwachen eines bestimmten TCP-Ports.
    6. Wenn Alle lauschen auf Nein festgelegt ist, wechseln Sie zu IP-Adressen, und überprüfen Sie jede IP-Adresse, die in den IP1- und IP2-Knoten angezeigt wird. Entfernen Sie für Adressen, die auf Aktiviert festgelegt sind, den aktuellen Wert in dynamischen TCP-Ports, und legen Sie dann einen Wert in TCP-Port fest.
    7. Wählen Sie OK aus, und starten Sie dann den SQL Server instance 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 active Directory einen SPN hinzuzufügen:

    1. Wählen Sie Korrigieren aus.

    2. Überprüfen 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 die erforderlichen 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 Kerberos Configuration Manager erneut aus, um zu überprüfen, ob die SPN-Probleme behoben wurden.

    Hinweis

    Wenn eine instance der SQL Server-Datenbank-Engine gestartet wird, versucht SQL Server, den SPN für den SQL Server-Dienst zu registrieren. Wenn die instance beendet wird, versucht SQL Server, die Registrierung des SPN aufzuheben. Dazu benötigt das SQL Server-Dienstkonto die entsprechenden Berechtigungen in Active Directory. Wenn das Dienstkonto jedoch nicht über diese Rechte verfügt, erfolgt die automatische SPN-Registrierung nicht, 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 Connections.

    Hinweis

    In Umgebungen, in denen SQL gruppiert ist, wird die automatische Registrierung von SPNs nicht empfohlen, da das Aufheben der Registrierung des SPN und die erneute Registrierung des SPN in Active Directory länger dauern kann als die Zeit, die es dauert, bis SQL Server online geschaltet wird. Wenn die SPN-Registrierung nicht rechtzeitig erfolgt, kann dies verhindern, dass SQL Server online geschaltet werden, da der Clusteradministrator keine Verbindung mit dem SQL Server instance herstellen kann.

Weitere Optionen

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

  1. Wechseln Sie zur Befehlszeile.

    Hinweis

    Öffnen Sie zum Beheben von Konnektivitätsproblemen, die sich auf SSRS auswirken, ein Administratives Eingabeaufforderungsfenster.

  2. Wechseln Sie zu dem Ordner, derKerberosConfigMgr.exeenthält.

  3. KerberosConfigMgr.exe -q -l eingeben.

  4. Geben Sie für 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, an dem die Datei gespeichert werden soll. Es kann sich auf einem lokalen Laufwerk oder einer Netzwerkfreigabe befinden. Die Datei wird im format.xml 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 bei jeder Ausführung der Anwendung in Ihrem Anwendungsdatenordner eine Protokolldatei generiert: %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 auf der Symbolleiste die Schaltfläche Hilfe aus.

Siehe auch