Delen via


Overzicht van Kerberos Configuration Manager voor SQL Server

Van toepassing op: SQL Server

Oorspronkelijk KB-nummer: 2985455

Een onjuiste Kerberos-configuratie in uw netwerk kan verschillende connectiviteitsfouten veroorzaken in Microsoft SQL Server. Kerberos Configuration Manager voor SQL Server is een diagnostisch hulpprogramma waarmee u problemen met kerberos-gerelateerde connectiviteit kunt oplossen die van invloed zijn op SQL Server, SQL Server Reporting Services (SSRS) en SQL Server Analysis Services (SSAS). Dit artikel bevat informatie over het gebruik van het Hulpprogramma Kerberos Configuration Manager en het interpreteren van de uitvoer van het hulpprogramma om Kerberos-problemen op te lossen die van invloed zijn op SQL Server.

Notitie

Kerberos Configuration Manager wordt geleverd als zodanig en er worden geen technische ondersteuning of updates aangeboden. Het is niet bijgewerkt voor het gebruik van SQL Server 2022 en latere versies van de WMI-provider. Zie SQLCheck als u problemen met betrekking tot kerberos-configuratie in SQL Server wilt oplossen en diagnosticeren.

Functies van Kerberos Configuration Manager

Kerberos Configuration Manager kan de volgende taken uitvoeren:

  • Verzamel informatie over de besturingssysteem-, Microsoft SQL Server-exemplaren en AlwaysOn-listeners voor beschikbaarheidsgroepen die op een server zijn geïnstalleerd.
  • Alle SPN-configuraties (Service Principal Name) en delegatieconfiguraties op de server rapporteren.
  • Potentiële problemen in SPN's en delegaties identificeren.
  • Mogelijke SPN-problemen oplossen.

Gebruiksscenario's

Met dit hulpprogramma kunt u de volgende uitzonderingen oplossen:

  • 401

    Opmerking: dit foutbericht is bedoeld voor HTTP-fouten, SSRS-fouten en andere vergelijkbare fouten.

  • Kan geen SSPI-context genereren
  • Aanmelden is mislukt voor gebruiker 'NTAUTHORITY\ANONYMOUS LOGON'
  • Aanmelden is mislukt voor gebruiker '(null)'
  • Aanmelden is mislukt voor gebruiker (leeg)

Notitie

Voordat u begint met het oplossen van problemen, raden we u aan de vereisten te bekijken en vervolgens de algemene controlelijst door te nemen om connectiviteitsgerelateerde fouten op te lossen.

Notitie

Als u beheerderstoegang tot uw SQL Server-computer hebt, kunt u ook het hulpprogramma SQL Connectivity Settings Check op die computer uitvoeren en vervolgens de uitvoer controleren om de SPN-configuratie van uw SQL Server-exemplaar te controleren.

Het hulpprogramma downloaden

Dit hulpprogramma is beschikbaar om te downloaden via het Microsoft Downloadcentrum:

Microsoft Kerberos Configuration Manager voor SQL Server

Notitie

U kunt het hulpprogramma downloaden en installeren op elke computer in uw domein die verbinding kunnen maken met de sql Server-computer.

Machtigingen

Als u verbindingsproblemen wilt oplossen die van invloed zijn op SQL, SSRS en SSAS, maakt u verbinding met de doelcomputer (die als host fungeert voor de service) met behulp van een domeingebruikersaccount met beheerdersmachtigingen voor die computer.

Optioneel: Als u het hulpprogramma wilt gebruiken om SPN-problemen op te lossen die door het hulpprogramma worden geïdentificeerd, moet het domeinaccount de machtiging Gevalideerd schrijven naar de naam van het service-principal hebben.

Het hulpprogramma gebruiken

Nadat de installatie is voltooid, start u het binaire KerberosConfigMgr.exe door naar de installatiemap te navigeren. De locatie is standaard C:\Program Files\Microsoft\Kerberos Configuration Manager voor SQL Server.

Zie Uitvoeren gebruiken om een app als beheerder te starten voor informatie over het starten van een app als beheerder.

Gebruik een van de volgende opties om problemen op te lossen:

  • Als u verbinding wilt maken met een externe computer op basis van SQL Server, voert u de juiste waarden in voor servernaam, domeinnaam en wachtwoord.

    Notitie

    Het hulpprogramma Kerberos Configuration Manager maakt gebruik van een Windows-API om informatie over de Kerberos-configuratie voor de SQL Server-computer op te vragen en weer te geven. Voer daarom altijd de naam in van de computer waarop het SQL Server-exemplaar wordt gehost, zelfs als u kerberos-gerelateerde problemen voor een benoemd exemplaar wilt oplossen.

  • Als u verbinding wilt maken met een lokale server, selecteert u Verbinding maken om uw Kerberos-configuratie te analyseren. In dit geval hoeft u niet de servernaam, domeingebruikersnaam of wachtwoord op te geven.

    Notitie

    Het account waarmee het hulpprogramma wordt gestart, moet een lokaal beheerdersaccount zijn. Zie Uitvoeren gebruiken om een app als beheerder te starten voor informatie over het starten van een app als beheerder.

Nadat de verbinding is geslaagd, worden alle gerelateerde SPN's weergegeven in de volgende schermopname.

Schermopname van een weergave van alle drie de tabbladen in Kerberos Configuration Manager.

In deze schermopname heeft de gebruikersinterface de volgende tabbladen:

  • Systeem: Geeft de gebruikersgegevens en computergegevens weer.

  • SPN: Geeft de SPN-informatie (Service Principal Name) weer over elk van de SQL Server-exemplaren die op de doelserver zijn gevonden en bevat details zoals de vereiste SPN en de status ervan.

  • Genereren: Hiermee kunt u ontbrekende en geconfigureerde SPN's vinden. Het helpt u ook bij het genereren van het SPN-script.

    1. Selecteer Genereren.
    2. Geef in het dialoogvenster dat wordt geopend een naam op (in dit geval 'generateSPNss'), stel Opslaan als-type in als het Kerberos Config Mgr(.cmd) -bestand en selecteer Opslaan.

    Dialoogvenster voor het opgeven van een naam voor het CMD-bestand.

Het generateSPNss.cmd-bestand wordt gemaakt en u kunt dit bestand uitvoeren via een opdrachtprompt. De inhoud van het bestand generateSPNss.cmd lijkt op het volgende voorbeeld:

:: 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** 
  • Gebruik SetSPN om een SPN te maken onder het serviceaccount voor SQL Server.

  • Gebruik Fix om problemen op te lossen en SPN's toe te voegen. U kunt alleen een SPN toevoegen als u over de vereiste machtigingen beschikt. Wanneer u Fix selecteert, wordt de volgende knopinfo weergegeven:

    Schermopname van de optie Fix om SPN toe te voegen.

    Notitie

    Het hulpprogramma biedt de opdrachten Fix en Generate alleen voor standaardexemplaren en benoemde exemplaren met statische poorten. Voor benoemde exemplaren die gebruikmaken van dynamische poorten, raden we u aan om over te schakelen van dynamische naar statische poorten of om de benodigde machtigingen voor het serviceaccount op te geven om de SPN te registreren en de registratie ervan ongedaan te maken telkens wanneer de SQL-service wordt gestart. Anders moet u de registratie handmatig ongedaan maken en de bijbehorende SPN's opnieuw registreren wanneer de service wordt gestart. Zie Een service-principalnaam registreren voor Kerberos-verbindingen voor meer informatie.

  • Delegatie: gebruik delegatie om problemen te identificeren die van invloed zijn op de configuratie van het serviceaccount voor delegering. Dit is vooral handig bij het oplossen van problemen met gekoppelde servers. Als het uitchecken van SPN bijvoorbeeld prima is, maar u nog steeds problemen ondervindt die van invloed zijn op gekoppelde serverquery's, kan dit erop wijzen dat het serviceaccount niet is geconfigureerd om referenties te delegeren. Zie het online onderwerp Boeken bij Het configureren van gekoppelde servers voor delegatie voor meer informatie.

    Schermopname van het tabblad Delegatie.

De diagnose van Kerberos Configuration Manager interpreteren en erop reageren

Bekijk de diagnose van het hulpprogramma door te verwijzen naar de kolom Status . Volg op basis van de status de juiste stappen om het probleem op te lossen.

  • Status - Goed

    Meer informatie: Het ingeschakelde item is correct geconfigureerd. Ga naar het volgende item in de uitvoer.

    Actie: er is geen actie vereist.

  • Status : vereiste SPN ontbreekt

    Meer informatie: Deze status wordt gerapporteerd als de Service Principal Name (SPN) die wordt vermeld in de kolom Vereiste SPN ontbreekt voor het SQL Server-opstartaccount in Active Directory.

    Actie: Volg deze stappen om te controleren of de SPN-problemen zijn opgelost:

    1. Selecteer Herstellen om de informatie in het dialoogvenster Waarschuwing te controleren.
    2. Selecteer Ja om de ontbrekende SPN toe te voegen aan Active Directory.
    3. Als uw domeinaccount over de benodigde machtigingen beschikt om Active Directory bij te werken, wordt de vereiste SPN toegevoegd aan Active Directory.
    4. Als uw domeinaccount niet over de benodigde machtigingen beschikt om Active Directory bij te werken, gebruikt u Genereren of Alles genereren om het script te genereren waarmee de Active Directory-beheerder de ontbrekende SPN's kan toevoegen.
    5. Nadat de SPN's zijn toegevoegd, voert u Kerberos Configuration Manager opnieuw uit om te controleren of de SPN-problemen zijn opgelost.
  • Status: TCP moet zijn ingeschakeld voor het gebruik van de Kerberos-configuratie.

    Meer informatie: deze status wordt weergegeven als TCP niet is ingeschakeld op de clientcomputer.

    Actie: volg deze stappen om het TCP/IP-protocol voor het SQL Server-exemplaar in te schakelen:

    1. Vouw in SQL Server Configuration Manager - Console SQL Server-netwerkconfiguratie uit.

    2. Selecteer protocollen in de console voor <instance name>.

    3. Selecteer TCP/IP in Details en selecteer vervolgens Inschakelen.

    4. Selecteer SQL Server Services in de console.

    5. Selecteer IN Details sql Server voor <instance name>.

    6. Selecteer Opnieuw opstarten om de SQL Server-service te stoppen en opnieuw te starten. Zie de sectie Server Network Protocol in- of uitschakelen voor meer informatie.

  • Status - Dynamische poort

    Meer informatie: Deze status wordt weergegeven voor benoemde exemplaren die gebruikmaken van dynamische poorten (standaardconfiguratie). In omgevingen waarin u Kerberos moet gebruiken om verbinding te maken met SQL Server, moet u uw benoemde exemplaar instellen op een statische poort en die poort gebruiken wanneer u de SPN registreert. Anders wordt de SPN die is geregistreerd in Active Directory, de volgende keer dat een benoemd exemplaar begint te luisteren op een andere poort dan de poort waarvoor de SPN is geregistreerd, ongeldig.

    Notitie

    Deze aanbeveling is alleen van toepassing op omgevingen die afhankelijk zijn van handmatige SPN-registratie.

    Actie: Volg deze stappen om het SQL Server-exemplaar te configureren voor het gebruik van een statische poort:

    1. Vouw in SQL Server Configuration Manager - Console sql Server-netwerkconfiguratie uit, vouw Protocollen voor <instance name>en dubbelklik vervolgens op TCP/IP.
    2. Selecteer Alles luisteren in TCP/IP-eigenschappen in het protocol.
    3. Als Alles luisteren is ingesteld op Ja, schakelt u over naar IP-adressen en schuift u naar de onderkant van het venster om de instelling IPAll te vinden.
    4. Verwijder de huidige waarde in dynamische TCP-poorten en voer een poortnummer in de TCP-poort in.
    5. Selecteer OK en start het SQL Server-exemplaar opnieuw op. Zie Een server configureren om te luisteren op een specifieke TCP-poort voor meer informatie.
    6. Als Alles luisteren is ingesteld op Nee, schakelt u over naar IP-adressen en controleert u elk IP-adres dat wordt weergegeven in de IP1- en IP2-knooppunten. Voor adressen die zijn ingesteld op Ingeschakeld, verwijdert u de huidige waarde in dynamische TCP-poorten en stelt u vervolgens een waarde in TCP-poort in.
    7. Selecteer OK en start vervolgens het SQL Server-exemplaar opnieuw op om de instellingen van kracht te laten worden. Zie Een server configureren om te luisteren op een specifieke TCP-poort voor meer informatie.
  • Status - DUBBELE SPN

    Meer informatie: U kunt dit scenario tegenkomen als dezelfde SPN is geregistreerd onder verschillende accounts in Active Directory.

    Acties: volg deze stappen om een SPN toe te voegen aan Active Directory:

    1. Selecteer Herstellen.

    2. Controleer de informatie in het dialoogvenster Waarschuwing .

    3. Selecteer Ja om de ontbrekende SPN toe te voegen aan Active Directory.

      • Als uw domeinaccount over de benodigde machtigingen beschikt om Active Directory bij te werken, wordt de onjuiste SPN verwijderd.

      • Als uw domeinaccount niet over de benodigde machtigingen beschikt om Active Directory bij te werken, gebruikt u Genereren of Alles genereren om het benodigde script te genereren dat u aan uw Active Directory-beheerder kunt opgeven om de dubbele SPN's te verwijderen.

    4. Nadat de SPN's zijn verwijderd, voert u Kerberos Configuration Manager opnieuw uit om te controleren of de SPN-problemen zijn opgelost.

    Notitie

    Wanneer een exemplaar van de SQL Server Database Engine wordt gestart, probeert SQL Server de SPN te registreren voor de SQL Server-service. Wanneer het exemplaar is gestopt, probeert SQL Server de registratie van de SPN ongedaan te maken. Hiervoor vereist het SQL Server-serviceaccount de juiste machtigingen in Active Directory. Maar als het serviceaccount niet over deze rechten beschikt, vindt de automatische SPN-registratie niet plaats en moet u samenwerken met uw Active Directory-beheerder om deze SPN's te registreren, zodat de SQL-exemplaren Kerberos-verificatie kunnen inschakelen. Zie Een service-principalnaam registreren voor Kerberos-verbindingen voor meer informatie.

    Notitie

    In omgevingen waarin SQL is geclusterd, wordt automatische registratie van SPN's niet aanbevolen omdat het langer duurt om de registratie van de SPN ongedaan te maken en de SPN opnieuw te registreren in Active Directory dan de tijd die nodig is om SQL Server online te krijgen. Als de SPN-registratie niet op tijd plaatsvindt, kan dit voorkomen dat SQL Server online komt omdat de clusterbeheerder geen verbinding kan maken met het SQL Server-exemplaar.

Extra opties

De SPN-lijst genereren vanaf de opdrachtregel:

  1. Ga naar de opdrachtregel.

    Notitie

    Als u verbindingsproblemen wilt oplossen die van invloed zijn op SSRS, opent u een venster met een beheeropdrachtprompt.

  2. Ga naar de map met KerberosConfigMgr.exe.

  3. Voer KerberosConfigMgr.exe -q -l in.

  4. Typ voor meer opdrachtregelopties KerberosConfigMgr.exe -h.

Ga als volgt te werk om de Kerberos-configuratiegegevens van een server op te slaan:

  1. Maak verbinding met de Windows-doelserver.
  2. Selecteer Opslaan.
  3. Geef de locatie op waarnaar u het bestand wilt opslaan. Het kan zich op een lokaal station of een netwerkshare bevinden. Het bestand wordt opgeslagen in .xml indeling.

Ga als volgt te werk om de Kerberos-configuratiegegevens van een server weer te geven uit het opgeslagen bestand:

  1. Selecteer Laden.
  2. Open het XML-bestand dat wordt gegenereerd door Kerberos Configuration Manager.

Ga als volgt te werk om de logboekbestanden voor dit hulpprogramma weer te geven:

Standaard wordt er telkens één logboekbestand gegenereerd wanneer de toepassing wordt uitgevoerd in de map met toepassingsgegevens: %APPDATA%\Microsoft\KerberosConfigMgr.

Gebruik een van de volgende methoden om hulp te krijgen:

  • Beweeg de muisaanwijzer over de opdracht om knopinfo te genereren.
  • Voer KerberosConfigMgr.exe -h de opdrachtprompt uit.
  • Selecteer de knop Help op de werkbalk.

Zie ook