Condividi tramite


Panoramica del Configuration Manager Kerberos per SQL Server

Si applica a: SQL Server

Numero KB originale: 2985455

Una configurazione Kerberos errata nella rete può causare vari errori di connettività in Microsoft SQL Server. Kerberos Configuration Manager per SQL Server è uno strumento di diagnostica che consente di risolvere i problemi di connettività correlati a Kerberos che influiscono su SQL Server, SQL Server Reporting Services (SSRS) e SQL Server Analysis Services (SSAS). Questo articolo fornisce informazioni su come usare lo strumento di Configuration Manager Kerberos e su come interpretare l'output dello strumento per risolvere i problemi Kerberos che interessano SQL Server.

Nota

Kerberos Configuration Manager viene fornito così come è e non sono disponibili aggiornamenti o supporto tecnico. Non è stato aggiornato per usare SQL Server 2022 e versioni successive del provider WMI. Per risolvere i problemi di configurazione Kerberos correlati a SQL Server, vedere SQLCheck.

Funzioni del Configuration Manager Kerberos

I Configuration Manager Kerberos possono eseguire le attività seguenti:

  • Raccogliere informazioni sul sistema operativo, sulle istanze di Microsoft SQL Server e sui listener del gruppo di disponibilità Always On installati in un server.
  • Segnalare tutte le configurazioni spn (Service Principal Name) e delega nel server.
  • Identificare potenziali problemi nelle reti SPN e nelle deleghe.
  • Risolvere i potenziali problemi del nome SPN.

Scenari di utilizzo

Questo strumento consente di risolvere i problemi relativi alle eccezioni seguenti:

  • 401

    Nota: Questo messaggio di errore è relativo a errori HTTP, errori SSRS e altri errori simili.

  • Impossibile generare il contesto SSPI
  • Accesso non riuscito per l'utente 'NTAUTHORITY\ANONYMOUS LOGON'
  • Accesso non riuscito per l'utente "(null)"
  • Accesso non riuscito per l'utente (vuoto)

Nota

Prima di iniziare a risolvere i problemi, è consigliabile esaminare i prerequisiti e quindi esaminare l'elenco di controllo generale per risolvere gli errori correlati alla connettività.

Nota

Se si dispone dell'accesso amministratore al computer basato su SQL Server, è anche possibile eseguire lo strumento Controllo delle impostazioni di connettività SQL in tale computer e quindi esaminare l'output per controllare la configurazione SPN dell'istanza di SQL Server.

Download dello strumento

Questo strumento è disponibile per il download dall'Area download Microsoft:

Configuration Manager Kerberos Microsoft per SQL Server

Nota

È possibile scaricare e installare lo strumento in qualsiasi computer del dominio in grado di connettersi al computer basato su SQL Server.

Autorizzazioni

Per risolvere i problemi di connettività che interessano SQL, SSRS e SSAS, connettersi al computer di destinazione (che ospita il servizio) usando un account utente di dominio con autorizzazioni amministrative per tale computer.

Facoltativo: se si vuole usare lo strumento per correggere eventuali problemi spn identificati dallo strumento, l'account di dominio deve disporre dell'autorizzazione Validate write to service principle name .Optional: If you want to use the tool to fix any SPN issues that are identified by the tool, the domain account should have the Validated write to service principle name permission.

Uso dello strumento

Al termine dell'installazione, avviare il file binarioKerberosConfigMgr.exepassando alla cartella di installazione. Per impostazione predefinita, il percorso è C:\Programmi\Microsoft\Kerberos Configuration Manager per SQL Server.

Per informazioni su come avviare un'app come amministratore o un utente diverso, vedere Usare Esegui per avviare un'app come amministratore.

Usare una delle opzioni seguenti per avviare la risoluzione dei problemi:

  • Per connettersi a un computer remoto basato su SQL Server, immettere i valori appropriati per Nome server, Nome utente di dominio e Password.

    Nota

    Lo strumento Configuration Manager Kerberos usa un'API Windows per eseguire query e visualizzare informazioni sulla configurazione Kerberos per il computer SQL Server. Immettere quindi sempre il nome del computer che ospita l'istanza di SQL Server, anche se si stanno risolvendo i problemi correlati a Kerberos per un'istanza denominata.

  • Per connettersi a un server locale, selezionare Connetti per analizzare la configurazione Kerberos. In questo caso, non è necessario specificare il nome del server, il nome utente del dominio o la password.

    Nota

    L'account che avvia lo strumento deve essere un account amministratore locale. Per informazioni su come avviare un'app come amministratore o un utente diverso, vedere Usare Esegui per avviare un'app come amministratore.

Al termine della connessione, tutti i nomi SPN correlati vengono visualizzati nello screenshot seguente.

Screenshot di una visualizzazione di tutte e tre le schede in Kerberos Configuration Manager.

In questo screenshot, l'interfaccia utente include le schede seguenti:

  • Sistema: visualizza le informazioni utente e le informazioni del computer.

  • SPN: visualizza le informazioni sul nome dell'entità servizio (SPN) relative a ognuna delle istanze di SQL Server presenti nel server di destinazione e fornisce dettagli quali il nome SPN richiesto e il relativo stato.

  • Genera: consente di trovare nomi SPN mancanti e configurati. Consente anche di generare lo script di generazione SPN.

    1. Seleziona Genera.
    2. Nella finestra di dialogo visualizzata specificare un nome ,in questo caso "generateSPNss", impostare Salva con nome come file Kerberos Config Mgr(.cmd) e quindi selezionare Salva.

    Finestra di dialogo per specificare un nome per il file CMD.

Viene creato il file generateSPNss.cmd ed è possibile eseguire questo file al prompt dei comandi. Il contenuto del file generateSPNss.cmd sarà simile all'esempio seguente:

:: 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** 
  • Usare SetSPN per creare un nome SPN nell'account del servizio per SQL Server.

  • Usare Correzione per risolvere i problemi e aggiungere nomi SPN. È possibile aggiungere un nome SPN solo se si dispone delle autorizzazioni necessarie. Quando si seleziona Correzione, viene visualizzata la descrizione comando seguente:

    Screenshot dell'opzione Correzione per aggiungere SPN.

    Nota

    Lo strumento fornisce i comandi Fix e Generate solo per le istanze predefinite e le istanze denominate con porte statiche. Per le istanze denominate che usano porte dinamiche, è consigliabile passare da porte dinamiche a porte statiche o fornire le autorizzazioni necessarie per l'account del servizio per registrare e annullare la registrazione del nome SPN ogni volta che viene avviato il servizio SQL. In caso contrario, è necessario annullare manualmente la registrazione e registrare nuovamente i nomi SPN corrispondenti ogni volta che viene avviato il servizio. Per altre informazioni, vedere Registrare un nome dell'entità servizio per Kerberos Connections.

  • Delega: usare delega per identificare eventuali problemi che influiscono sulla configurazione dell'account del servizio per la delega. Ciò è particolarmente utile per la risoluzione dei problemi del server collegato. Ad esempio, se il checkout spn è corretto, ma si verificano comunque problemi che influiscono sulle query del server collegato, questo potrebbe indicare che l'account del servizio non è configurato per delegare le credenziali. Per altre informazioni, vedere l'argomento Della documentazione online in Configurazione dei server collegati per la delega.

    Screenshot della scheda Delega.

Interpretazione e azione sulla diagnosi dal Configuration Manager Kerberos

Esaminare la diagnosi dallo strumento facendo riferimento alla colonna Stato . In base allo stato, seguire i passaggi appropriati per risolvere il problema.

  • Stato - Buono

    Altre informazioni: l'elemento selezionato è configurato correttamente. Passare all'elemento successivo nell'output.

    Azione: non è necessaria alcuna azione.

  • Stato : spn obbligatorio mancante

    Altre informazioni: questo stato viene segnalato se il nome dell'entità servizio (SPN) indicato nella colonna SPN obbligatorio non è presente per l'account di avvio SQL Server in Active Directory.

    Azione: seguire questa procedura per verificare se i problemi del nome SPN sono stati risolti:

    1. Selezionare Correzione per esaminare le informazioni nella finestra di dialogo Avviso .
    2. Selezionare per aggiungere il nome SPN mancante ad Active Directory.
    3. Se l'account di dominio dispone delle autorizzazioni necessarie per aggiornare Active Directory, il nome SPN necessario verrà aggiunto ad Active Directory.
    4. Se l'account di dominio non dispone delle autorizzazioni necessarie per aggiornare Active Directory, usare Genera o Genera tutto per generare lo script che consentirà all'amministratore di Active Directory di aggiungere i nomi SPN mancanti.
    5. Dopo aver aggiunto i nomi SPN, eseguire di nuovo Kerberos Configuration Manager per verificare che i problemi del nome SPN siano stati risolti.
  • Stato: tcp deve essere abilitato per l'uso della configurazione Kerberos.

    Altre informazioni: questo stato viene visualizzato se TCP non è abilitato nel computer client.

    Azione: seguire questa procedura per abilitare il protocollo TCP/IP per l'istanza di SQL Server:

    1. In Gestione configurazione SQL Server - Console espandere SQL Server Configurazione di rete.

    2. In Console selezionare Protocolli per <instance name>.

    3. In Dettagli selezionare TCP/IP e quindi selezionare Abilita.

    4. In Console selezionare SQL Server Servizi.

    5. In Dettagli selezionare SQL Server per <instance name>.

    6. Selezionare Riavvia per arrestare e riavviare il servizio SQL Server. Per altre informazioni, vedere la sezione Abilitare o disabilitare un protocollo di rete del server.

  • Stato - Porta dinamica

    Altre informazioni: questo stato viene visualizzato per le istanze denominate che usano porte dinamiche (configurazione predefinita). Negli ambienti in cui è necessario usare Kerberos per connettersi a SQL Server, è necessario impostare l'istanza denominata in modo da usare una porta statica e usare tale porta quando si registra il nome SPN. In caso contrario, il nome SPN registrato in Active Directory non sarà valido alla successiva attesa di un'istanza denominata su una nuova porta diversa da quella in cui è stato registrato il nome SPN.

    Nota

    Questa raccomandazione si applica solo agli ambienti che dipendono dalla registrazione manuale del nome SPN.

    Azione: seguire questa procedura per configurare l'istanza di SQL Server per l'uso di una porta statica:

    1. In Gestione configurazione SQL Server - Console espandere SQL Server Configurazione di rete, espandere Protocolli per <instance name>e quindi fare doppio clic su TCP/IP.
    2. In Proprietà TCP/IP selezionare Ascolta tutto nel protocollo.
    3. Se Listen All è impostato su , passare a Indirizzi IP e scorrere fino alla fine della finestra per trovare l'impostazione IPAll .
    4. Eliminare il valore corrente nelle porte dinamiche TCP e immettere un numero di porta nella porta TCP.
    5. Selezionare OK e quindi riavviare l'istanza di SQL Server. Per maggiori informazioni, consultare Configurare un server per l'ascolto su una porta TCP specifica.
    6. Se Listen All è impostato su No, passare a Indirizzi IP e controllare ogni indirizzo IP visualizzato nei nodi IP1 e IP2. Per gli indirizzi impostati su Abilitato, rimuovere il valore corrente nelle porte dinamiche TCP e quindi impostare un valore in Porta TCP.
    7. Selezionare OK e quindi riavviare l'istanza di SQL Server affinché le impostazioni abbiano effetto. Per maggiori informazioni, consultare Configurare un server per l'ascolto su una porta TCP specifica.
  • Stato - SPN duplicato

    Altre informazioni: è possibile che si verifichi questo scenario se lo stesso SPN è registrato in account diversi in Active Directory.

    Azioni: seguire questa procedura per aggiungere un nome SPN ad Active Directory:

    1. Selezionare Correggi.

    2. Selezionare le informazioni nella finestra di dialogo Avviso .

    3. Selezionare per aggiungere il nome SPN mancante ad Active Directory.

      • Se l'account di dominio dispone delle autorizzazioni necessarie per aggiornare Active Directory, il nome SPN non corretto verrà eliminato.

      • Se l'account di dominio non dispone delle autorizzazioni necessarie per aggiornare Active Directory, usare Genera o Genera tutto per generare lo script necessario che è possibile fornire all'amministratore di Active Directory per rimuovere i nomi SPN duplicati.

    4. Dopo aver rimosso i nomi SPN, eseguire di nuovo kerberos Configuration Manager per verificare che i problemi del nome SPN siano stati risolti.

    Nota

    All'avvio di un'istanza del motore di database SQL Server, SQL Server tenta di registrare il nome SPN per il servizio SQL Server. Quando l'istanza viene arrestata, SQL Server tenta di annullare la registrazione del nome SPN. A tale scopo, l'account del servizio SQL Server richiede le autorizzazioni appropriate in Active Directory. Tuttavia, se l'account del servizio non dispone di questi diritti, la registrazione automatica del nome SPN non viene eseguita ed è necessario collaborare con l'amministratore di Active Directory per registrare questi nomi SPN in modo che le istanze SQL possano abilitare l'autenticazione Kerberos. Per altre informazioni, vedere Registrare un nome dell'entità servizio per Kerberos Connections.

    Nota

    Negli ambienti in cui SQL è cluster, la registrazione automatica dei nomi SPN non è consigliata perché potrebbe essere necessario più tempo per annullare la registrazione del nome SPN e registrare nuovamente il nome SPN in Active Directory rispetto al tempo necessario per SQL Server per l'accesso online. Se la registrazione spn non viene eseguita in tempo, ciò potrebbe impedire SQL Server di accedere online perché l'amministratore del cluster non è in grado di connettersi all'istanza di SQL Server.

Opzioni aggiuntive

Per generare l'elenco SPN dalla riga di comando:

  1. Passare alla riga di comando.

    Nota

    Per risolvere i problemi di connettività che interessano SSRS, aprire una finestra del prompt dei comandi amministrativa.

  2. Passare alla cartella che contiene KerberosConfigMgr.exe.

  3. Immettere KerberosConfigMgr.exe -q -l.

  4. Per altre opzioni della riga di comando, digitare KerberosConfigMgr.exe -h.

Per salvare le informazioni di configurazione Kerberos di un server:

  1. Connettersi al server Windows di destinazione.
  2. Seleziona Salva.
  3. Specificare il percorso in cui si vuole salvare il file. Può trovarsi in un'unità locale o in una condivisione di rete. Il file verrà salvato in formato.xml .

Per visualizzare le informazioni di configurazione Kerberos di un server dal file salvato:

  1. Selezionare Carica.
  2. Aprire il file XML generato da Kerberos Configuration Manager.

Per visualizzare i file di log per questo strumento:

Per impostazione predefinita, viene generato un file di log ogni volta che l'applicazione viene eseguita nella cartella dei dati dell'applicazione: %APPDATA%\Microsoft\KerberosConfigMgr.

Per ottenere assistenza, usare uno dei metodi seguenti:

  • Passare il puntatore del mouse sul comando per generare una descrizione comando.
  • Eseguire KerberosConfigMgr.exe -h al prompt dei comandi.
  • Selezionare il pulsante ? sulla barra degli strumenti.

Vedere anche