Översikt över Kerberos Configuration Manager för SQL Server

Gäller för: SQL Server

Ursprungligt KB-nummer: 2985455

En felaktig Kerberos-konfiguration i nätverket kan orsaka olika anslutningsfel i Microsoft SQL Server. Kerberos Configuration Manager för SQL Server är ett diagnostikverktyg som hjälper dig att felsöka Kerberos-relaterade anslutningsproblem som påverkar SQL Server, SQL Server Reporting Services (SSRS) och SQL Server Analysis Services (SSAS). Den här artikeln innehåller information om hur du använder Kerberos Configuration Manager-verktyget och hur du tolkar utdata från verktyget för att åtgärda Kerberos-problem som påverkar SQL Server.

Kommentar

Kerberos Configuration Manager tillhandahålls som det är och ingen teknisk support eller uppdateringar erbjuds för det. Den har inte uppdaterats för att använda SQL Server 2022 och senare versioner av WMI-providern. Information om hur du felsöker och diagnostiserar SQL Server-relaterade Kerberos-konfigurationsproblem finns i SQLCheck.

Funktioner i Kerberos Configuration Manager

Kerberos Configuration Manager kan utföra följande uppgifter:

  • Samla in information om operativsystemet, Microsoft SQL Server-instanser och Lyssnare för AlwaysOn-tillgänglighetsgrupp som är installerade på en server.
  • Rapportera alla konfigurationer för tjänstens huvudnamn (SPN) och delegering på servern.
  • Identifiera potentiella problem i SPN och delegeringar.
  • Åtgärda potentiella SPN-problem.

Användningsscenarier

Det här verktyget hjälper dig att felsöka följande undantag:

  • 401

    Obs! Det här felmeddelandet gäller HTTP-fel, SSRS-fel och andra liknande fel.

  • Det går inte att generera SSPI-sammanhang
  • Inloggningen misslyckades för användaren "NTAUTHORITY\ANONYMOUS LOGON"
  • Inloggningen misslyckades för användaren '(null)'
  • Inloggningen misslyckades för användaren (tom)

Kommentar

Innan du börjar felsöka problem rekommenderar vi att du granskar förutsättningarna och sedan går igenom den allmänna checklistan för att felsöka anslutningsrelaterade fel.

Kommentar

Om du har administratörsåtkomst till din SQL Server-baserade dator kan du också köra verktyget KONTROLL av SQL-anslutningsinställningar på datorn och sedan granska utdata för att kontrollera SPN-konfigurationen för SQL Server-instansen.

Ladda ned verktyget

Det här verktyget är tillgängligt för nedladdning från Microsoft Download Center:

Microsoft Kerberos Configuration Manager för SQL Server

Kommentar

Du kan ladda ned och installera verktyget på valfri dator i domänen som kan ansluta till den SQL Server-baserade datorn.

Behörigheter

Om du vill felsöka anslutningsproblem som påverkar SQL, SSRS och SSAS ansluter du till måldatorn (som är värd för tjänsten) med hjälp av ett domänanvändarkonto som har administratörsbehörighet till datorn.

Valfritt: Om du vill använda verktyget för att åtgärda eventuella SPN-problem som identifieras av verktyget bör domänkontot ha behörigheten Verifierad skriv till tjänstprincipnamn .

Använda verktyget

När installationen är klar startar du KerberosConfigMgr.exe binärfilen genom att gå till installationsmappen. Som standard är platsen C:\Program Files\Microsoft\Kerberos Configuration Manager för SQL Server.

Information om hur du startar en app som administratör eller en annan användare finns i Använda Kör för att starta en app som administratör.

Använd något av följande alternativ för att börja felsöka:

  • Om du vill ansluta till en SQL Server-baserad fjärrdator anger du lämpliga värden för servernamn, domännamn och lösenord.

    Kommentar

    Verktyget Kerberos Configuration Manager använder ett Windows-API för att fråga och visa information om Kerberos-konfiguration för SQL Server-datorn. Ange därför alltid namnet på den dator som är värd för SQL Server-instansen, även om du felsöker Kerberos-relaterade problem för en namngiven instans.

  • Om du vill ansluta till en lokal server väljer du Anslut för att analysera Kerberos-konfigurationen. I det här fallet behöver du inte ange servernamn, domännamn eller lösenord.

    Kommentar

    Kontot som startar verktyget ska vara ett lokalt administratörskonto. Information om hur du startar en app som administratör eller en annan användare finns i Använda Kör för att starta en app som administratör.

När anslutningen har slutförts visas alla relaterade SPN:er i följande skärmbild.

Skärmbild av en vy över alla tre flikarna i Kerberos Configuration Manager.

I den här skärmbilden har användargränssnittet följande flikar:

  • System: Visar användarinformation och datorinformation.

  • SPN: Visar SPN-information (Service Principal Name) om var och en av SQL Server-instanserna som finns på målservern och innehåller information som det nödvändiga SPN:t och dess status.

  • Generera: Hjälper dig att hitta saknade och konfigurerade SPN:er. Det hjälper dig också att generera SPN Generation-skriptet.

    1. Välj Generera.
    2. I dialogrutan som öppnas anger du ett namn (i det här fallet "generateSPNss"), anger Spara som-typ som Kerberos Config Mgr(.cmd) och väljer sedan Spara.

    Dialogrutan för att ange ett namn på CMD-filen.

Den generateSPNss.cmd filen skapas och du kan köra den här filen i en kommandotolk. Innehållet i generateSPNss.cmd-filen liknar följande exempel:

:: 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** 
  • Använd SetSPN för att skapa ett SPN under tjänstkontot för SQL Server.

  • Använd Åtgärda för att åtgärda problem och lägga till SPN. Du kan bara lägga till ett SPN om du har de behörigheter som krävs. När du väljer Åtgärda visas följande verktygstips:

    Skärmbild av alternativet Åtgärda för att lägga till SPN.

    Kommentar

    Verktyget tillhandahåller endast kommandona Åtgärda och generera för standardinstanser och namngivna instanser som har statiska portar. För namngivna instanser som använder dynamiska portar rekommenderar vi att du växlar från dynamiska till statiska portar eller ger nödvändiga behörigheter för tjänstkontot att registrera och avregistrera SPN varje gång SQL-tjänsten startas. Annars måste du avregistrera och registrera motsvarande SPN manuellt när tjänsten startas. Mer information finns i Registrera ett tjänsthuvudnamn för Kerberos-anslutningar.

  • Delegering: Använd delegering för att identifiera eventuella problem som påverkar tjänstkontots konfiguration för delegering. Detta är särskilt användbart vid felsökning av problem med länkad server. Om SPN-utcheckningen till exempel är bra, men du fortfarande har problem som påverkar länkade serverfrågor, kan detta tyda på att tjänstkontot inte har konfigurerats för att delegera autentiseringsuppgifter. Mer information finns i avsnittet Böcker online på Konfigurera länkade servrar för delegering.

    Skärmbild av fliken Delegering.

Tolka och agera på diagnosen från Kerberos Configuration Manager

Granska diagnosen från verktyget genom att referera till kolumnen Status . Följ lämpliga steg för att lösa problemet baserat på statusen.

  • Status – bra

    Mer information: Det markerade objektet är korrekt konfigurerat. Gå till nästa objekt i utdata.

    Åtgärd: Ingen åtgärd krävs.

  • Status – spn som krävs saknas

    Mer information: Den här statusen rapporteras om tjänstens huvudnamn (SPN) som anges i kolumnen Obligatoriskt SPN saknas för SQL Server-startkontot i Active Directory.

    Åtgärd: Följ dessa steg för att kontrollera om SPN-problemen har lösts:

    1. Välj Åtgärda för att granska informationen i dialogrutan Varning .
    2. Välj Ja för att lägga till det saknade SPN:et i Active Directory.
    3. Om ditt domänkonto har de behörigheter som krävs för att uppdatera Active Directory läggs det nödvändiga SPN:et till i Active Directory.
    4. Om ditt domänkonto inte har nödvändiga behörigheter för att uppdatera Active Directory använder du Generera eller Generera alla för att generera skriptet som hjälper Active Directory-administratören att lägga till de saknade SPN:erna.
    5. När SPN har lagts till kör du Kerberos Configuration Manager igen för att kontrollera att SPN-problemen har lösts.
  • Status – TCP måste vara aktiverat för att använda Kerberos-konfiguration.

    Mer information: Den här statusen visas om TCP inte är aktiverat på klientdatorn.

    Åtgärd: Följ dessa steg för att aktivera TCP/IP-protokollet för SQL Server-instansen:

    1. I Konfigurationshanteraren för SQL Server – Konsol expanderar du SQL Server Network Configuration.

    2. I Konsol väljer du Protokoll för <instance name>.

    3. I Information väljer du TCP/IP och sedan Aktivera.

    4. I Konsol väljer du SQL Server Services.

    5. I Information väljer du SQL Server för <instance name>.

    6. Välj Starta om för att stoppa och starta om SQL Server-tjänsten. Mer information finns i avsnittet Aktivera eller inaktivera ett servernätverksprotokoll.

  • Status – dynamisk port

    Mer information: Den här statusen visas för namngivna instanser som använder dynamiska portar (standardkonfiguration). I miljöer där du behöver använda Kerberos för att ansluta till SQL Server bör du ange att den namngivna instansen ska använda en statisk port och använda den porten när du registrerar SPN. Annars blir det SPN som är registrerat i Active Directory ogiltigt nästa gång en namngiven instans börjar lyssna på en annan port än den som SPN registrerades under.

    Kommentar

    Den här rekommendationen gäller endast miljöer som är beroende av manuell SPN-registrering.

    Åtgärd: Följ dessa steg för att konfigurera SQL Server-instansen så att den använder en statisk port:

    1. I Konfigurationshanteraren för SQL Server – -konsolen expanderar du SQL Server Network Configuration, expanderar Protokoll för <instance name>och dubbelklickar sedan på TCP/IP.
    2. I TCP/IP-egenskaper väljer du Lyssna alla i protokollet.
    3. Om Lyssna alla är inställt på Ja växlar du till IP-adresser och bläddrar längst ned i fönstret för att hitta INSTÄLLNINGEN IPAll .
    4. Ta bort det aktuella värdet i dynamiska TCP-portar och ange ett portnummer i TCP-porten.
    5. Välj OK och starta sedan om SQL Server-instansen. Mer information finns i Konfigurera en server att lyssna på en specifik TCP-port.
    6. Om Lyssna alla är inställt på Nej växlar du till IP-adresser och kontrollerar varje IP-adress som visas i IP1- och IP2-noderna. För adresser som är inställda på Aktiverad tar du bort det aktuella värdet i dynamiska TCP-portar och anger sedan ett värde i TCP-porten.
    7. Välj OK och starta sedan om SQL Server-instansen för att inställningarna ska börja gälla. Mer information finns i Konfigurera en server att lyssna på en specifik TCP-port.
  • Status – Duplicerat SPN

    Mer information: Du kan stöta på det här scenariot om samma SPN registreras under olika konton i Active Directory.

    Åtgärder: Följ dessa steg för att lägga till ett SPN i Active Directory:

    1. Välj Åtgärda.

    2. Markera informationen i dialogrutan Varning .

    3. Välj Ja för att lägga till det saknade SPN:et i Active Directory.

      • Om ditt domänkonto har de behörigheter som krävs för att uppdatera Active Directory tas det felaktiga SPN bort.

      • Om ditt domänkonto inte har nödvändiga behörigheter för att uppdatera Active Directory använder du Generera eller Generera alla för att generera det nödvändiga skript som du kan ange för Active Directory-administratören för att ta bort de duplicerade SPN:erna.

    4. När SPN:erna har tagits bort kör du Kerberos Configuration Manager igen för att kontrollera att SPN-problemen är lösta.

    Kommentar

    När en instans av SQL Server Database Engine startar försöker SQL Server registrera SPN för SQL Server-tjänsten. När instansen stoppas försöker SQL Server avregistrera SPN. För att detta ska inträffa kräver SQL Server-tjänstkontot lämpliga behörigheter i Active Directory. Men om tjänstkontot inte har dessa rättigheter sker inte den automatiska SPN-registreringen och du måste samarbeta med Active Directory-administratören för att registrera dessa SPN så att SQL-instanserna kan aktivera Kerberos-autentisering. Mer information finns i Registrera ett tjänsthuvudnamn för Kerberos-anslutningar.

    Kommentar

    I miljöer där SQL är klustrat rekommenderas inte automatisk registrering av SPN eftersom det kan ta längre tid att avregistrera SPN och registrera SPN i Active Directory igen än den tid det tar för SQL Server att komma online. Om SPN-registreringen inte sker i tid kan det hindra SQL Server från att ansluta eftersom klusteradministratören inte kan ansluta till SQL Server-instansen.

Ytterligare alternativ

Så här genererar du SPN-listan från kommandoraden:

  1. Gå till kommandoraden.

    Kommentar

    Om du vill felsöka anslutningsproblem som påverkar SSRS öppnar du ett administrativt kommandotolkfönster.

  2. Växla till mappen som innehåller KerberosConfigMgr.exe.

  3. Ange KerberosConfigMgr.exe -q -l.

  4. Om du vill ha fler kommandoradsalternativ skriver du KerberosConfigMgr.exe -h.

Så här sparar du en servers Kerberos-konfigurationsinformation:

  1. Anslut till Windows-målservern.
  2. Välj Spara.
  3. Ange den plats där du vill att filen ska sparas. Den kan finnas på en lokal enhet eller en nätverksresurs. Filen sparas i .xml format.

Så här visar du en servers Kerberos-konfigurationsinformation från den sparade filen:

  1. Välj Läs in.
  2. Öppna XML-filen som genereras av Kerberos Configuration Manager.

Så här visar du loggfilerna för det här verktyget:

Som standard genereras en loggfil varje gång programmet körs i programdatamappen: %APPDATA%\Microsoft\KerberosConfigMgr.

Använd någon av följande metoder för att få hjälp:

  • Hovra muspekaren över kommandot för att generera en knappbeskrivning.
  • Kör KerberosConfigMgr.exe -h i kommandotolken.
  • Välj knappen Hjälp i verktygsfältet.

Se även