Ö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.
Funktioner i Kerberos-Configuration Manager
Kerberos Configuration Manager kan utföra följande uppgifter:
- Samla in information om operativsystemet, Microsoft SQL Server-instanser och AlwaysOn-tillgänglighetsgrupplyssnare som är installerade på en server.
- Rapportera alla konfigurationer för tjänstens huvudnamn (SPN) och delegering på servern.
- Identifiera potentiella problem i SPN:er och delegeringar.
- Åtgärda potentiella SPN-problem.
Användningsscenarier
Det här verktyget hjälper dig att felsöka följande undantag:
- 401
Observera: Det här felmeddelandet gäller HTTP-fel, SSRS-fel och andra liknande fel.
- Det går inte att generera SSPI-kontext
- Inloggningen misslyckades för användaren "NTAUTHORITY\ANONYMOUS LOGON"
- Inloggningen misslyckades för användaren '(null)'
- Inloggningen misslyckades för användaren (tom)
Anteckning
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.
Anteckning
Om du har administratörsåtkomst till din SQL Server-baserade dator kan du också köra verktyget KONTROLLERA 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
Anteckning
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 den 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 skrivning till tjänstprincipnamn .
Använda verktyget
När installationen är klar startar duKerberosConfigMgr.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 fjärransluten SQL Server-baserad dator anger du lämpliga värden för Servernamn, Domännamn och Lösenord.
Anteckning
Verktyget Kerberos Configuration Manager använder ett Windows-API för att fråga och visa information om Kerberos-konfiguration för SQL Server dator. Ange därför alltid namnet på den dator som är värd för den 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.
Anteckning
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.
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 de SQL Server instanser som finns på målservern och innehåller information som det spn som krävs och dess status.
Generera: Hjälper dig att hitta saknade och konfigurerade SPN:er. Det hjälper dig också att generera SPN-genereringsskriptet.
- Välj Generera.
- I dialogrutan som öppnas anger du ett namn (i det här fallet "generateSPNss"), anger Spara som-typ som Kerberos Config Mgr(.cmd) -filen och väljer sedan Spara.
Filen generateSPNss.cmd skapas och du kan köra den här filen i en kommandotolk. Innehållet i filen generateSPNss.cmd 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 Korrigera 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:
Anteckning
Verktyget tillhandahåller kommandona Åtgärda och Generera endast 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 anger nödvändiga behörigheter för tjänstkontot för 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 upplever 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.
Tolka och agera på diagnos 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 – obligatoriskt SPN saknas
Mer information: Den här statusen rapporteras om tjänstens huvudnamn (SPN) som anges i kolumnen Obligatoriskt SPN saknas för SQL Server startkonto i Active Directory.
Åtgärd: Följ dessa steg för att kontrollera om SPN-problemen är lösta:
- Välj Åtgärda för att granska informationen i dialogrutan Varning .
- 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 läggs det spN som krävs till i Active Directory.
- 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.
- När SPN har lagts till kör du Kerberos Configuration Manager igen för att kontrollera att SPN-problemen är lösta.
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 den SQL Server instansen:
I Konfigurationshanteraren för SQL Server – Konsol expanderar du SQL Server Nätverkskonfiguration.
I Konsol väljer du Protokoll för
<instance name>.I Information väljer du TCP/IP och sedan Aktivera.
I Konsol väljer du SQL Server Services.
I Information väljer du SQL Server för
<instance name>.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 SPN:t 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.
Anteckning
Den här rekommendationen gäller endast för 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:
- I Konfigurationshanteraren för SQL Server – -konsolen expanderar du SQL Server Nätverkskonfiguration, expanderar Protokoll för
<instance name>och dubbelklickar sedan på TCP/IP. - I TCP/IP-egenskaper väljer du Lyssna alla i protokollet.
- 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 .
- Ta bort det aktuella värdet i dynamiska TCP-portar och ange ett portnummer i TCP-porten.
- Välj OK och starta sedan om den SQL Server instansen. Mer information finns i Konfigurera en server att lyssna på en specifik TCP-port.
- 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 har angetts till Aktiverad tar du bort det aktuella värdet i dynamiska TCP-portar och anger sedan ett värde i TCP-porten.
- Välj OK och starta sedan om SQL Server instans för att inställningarna ska börja gälla. Mer information finns i Konfigurera en server att lyssna på en specifik TCP-port.
- I Konfigurationshanteraren för SQL Server – -konsolen expanderar du SQL Server Nätverkskonfiguration, expanderar Protokoll för
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:
Välj Åtgärda.
Markera informationen i dialogrutan Varning .
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:et 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 skriptet som du kan ge Active Directory-administratören för att ta bort de duplicerade SPN:erna.
När SPN:erna har tagits bort kör du Kerberos-Configuration Manager igen för att kontrollera att SPN-problemen är lösta.
Anteckning
När en instans av SQL Server-databasmotorn 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.
Anteckning
I miljöer där SQL är klustrad rekommenderas inte automatisk registrering av SPN eftersom det kan ta mer 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 komma online eftersom klusteradministratören inte kan ansluta till den SQL Server instansen.
Fler alternativ
Så här genererar du SPN-listan från kommandoraden:
Gå till kommandoraden.
Anteckning
Om du vill felsöka anslutningsproblem som påverkar SSRS öppnar du ett administrativt kommandotolkfönster.
Växla till mappen som innehåller KerberosConfigMgr.exe.
Ange
KerberosConfigMgr.exe -q -l.Om du vill ha fler kommandoradsalternativ skriver du
KerberosConfigMgr.exe -h.
Så här sparar du en servers Kerberos-konfigurationsinformation:
- Anslut till Windows-målservern.
- Välj Spara.
- 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:
- Välj Läs in.
- Ö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:
- Håll muspekaren över kommandot för att generera en knappbeskrivning.
- Kör
KerberosConfigMgr.exe -hi kommandotolken. - Välj knappen Hjälp i verktygsfältet.