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.
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.
- Seleziona Genera.
- 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.
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:
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.
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:
- Selezionare Correzione per esaminare le informazioni nella finestra di dialogo Avviso .
- Selezionare Sì 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 necessario verrà aggiunto ad Active Directory.
- 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.
- 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:
In Gestione configurazione SQL Server - Console espandere SQL Server Configurazione di rete.
In Console selezionare Protocolli per
<instance name>
.In Dettagli selezionare TCP/IP e quindi selezionare Abilita.
In Console selezionare SQL Server Servizi.
In Dettagli selezionare SQL Server per
<instance name>
.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:
- 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. - In Proprietà TCP/IP selezionare Ascolta tutto nel protocollo.
- Se Listen All è impostato su Sì, passare a Indirizzi IP e scorrere fino alla fine della finestra per trovare l'impostazione IPAll .
- Eliminare il valore corrente nelle porte dinamiche TCP e immettere un numero di porta nella porta TCP.
- 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.
- 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.
- 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.
- In Gestione configurazione SQL Server - Console espandere SQL Server Configurazione di rete, espandere Protocolli per
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:
Selezionare Correggi.
Selezionare le informazioni nella finestra di dialogo Avviso .
Selezionare Sì 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.
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:
Passare alla riga di comando.
Nota
Per risolvere i problemi di connettività che interessano SSRS, aprire una finestra del prompt dei comandi amministrativa.
Passare alla cartella che contiene KerberosConfigMgr.exe.
Immettere
KerberosConfigMgr.exe -q -l
.Per altre opzioni della riga di comando, digitare
KerberosConfigMgr.exe -h
.
Per salvare le informazioni di configurazione Kerberos di un server:
- Connettersi al server Windows di destinazione.
- Seleziona Salva.
- 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:
- Selezionare Carica.
- 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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per