Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server
Numero KB originale: 2985455
Summary
Usare kerberos Gestione configurazione per SQL Server per diagnosticare e risolvere i problemi di configurazione Kerberos che causano errori di connessione SQL Server. Lo strumento analizza le istanze di SQL Server, SQL Server Reporting Services (SSRS) e SQL Server Analysis Services (SSAS) e segnala problemi di delega e nomi di entità servizio mancanti o duplicati. Può anche generare uno script o applicare automaticamente la correzione. Questo articolo illustra come scaricare lo strumento, quali autorizzazioni sono necessarie e come interpretarne l'output.
Note
L'Gestione configurazione Kerberos viene fornito as-ise non sono disponibili aggiornamenti o supporto tecnico. Non è stato aggiornato per l'uso del SQL Server 2022 e versioni successive del provider WMI (Windows Management Instrumentation). Per risolvere e diagnosticare i problemi di configurazione Kerberos per queste versioni, usare SQLCheck.
Operazioni Gestione configurazione Kerberos
Kerberos Gestione configurazione può eseguire le attività seguenti:
- Raccogliere informazioni sul sistema operativo, sulle istanze SQL Server e sui listener del gruppo di disponibilità AlwaysOn installati in un server.
- Segnalare tutte le configurazioni spn e delega nel server.
- Identificare i potenziali problemi nei nomi SPN e nelle deleghe.
- Risolvere i potenziali problemi relativi al nome SPN.
Errori che Gestione configurazione Kerberos aiutano a risolvere i problemi
Usare questo strumento per risolvere gli errori seguenti:
- Errori HTTP 401, errori SSRS e altri errori simili
- Impossibile generare il contesto SSPI. Per altre informazioni, vedere Correzione dell'errore "Impossibile generare il contesto SSPI" in SQL Server.
- Accesso non riuscito per l'utente 'NT AUTHORITY\ANONYMOUS LOGON'
- Accesso non riuscito per l'utente "(null)"
- Accesso non riuscito per l'utente (vuoto)
Prima di iniziare la risoluzione dei problemi, esaminare i prerequisiti e l'elenco di controllo per la risoluzione degli errori di connettività.
Se si dispone dell'accesso amministratore al computer SQL Server, è anche possibile eseguire SQLCheck (strumento Di controllo delle impostazioni di connettività SQL) in tale computer. Esaminare l'output per controllare la configurazione del nome SPN dell'istanza di SQL Server.
Scaricare i Gestione configurazione Kerberos
Scaricare lo strumento dal Area download Microsoft:
Microsoft Gestione configurazione Kerberos per SQL Server.
È possibile scaricare e installare lo strumento in qualsiasi computer del dominio in grado di connettersi al computer SQL Server. Assicurarsi di esaminare le versioni e i requisiti di sistema supportati nella pagina Area download.
Autorizzazioni necessarie per eseguire i Gestione configurazione Kerberos
Per risolvere i problemi di connettività che interessano SQL Server, SSRS e SSAS, connettersi al computer di destinazione (il computer che ospita il servizio) usando un account utente di dominio con autorizzazioni amministrative per tale computer.
Facoltativo: se si vuole usare lo strumento per risolvere i problemi del nome SPN identificati, l'account di dominio deve disporre dell'autorizzazione Convalidata scrittura nel nome dell'entità servizio .
Avviare il Gestione configurazione Kerberos e connettersi a un server
Al termine dell'installazione, avviare il file binarioKerberosConfigMgr.exedalla cartella di installazione. Per impostazione predefinita, il percorso è C:\Programmi\Microsoft\Kerberos Gestione configurazione per SQL Server.
Per informazioni su come avviare un'app come amministratore o un altro utente, vedere Usare Esegui per avviare un'app come amministratore.
Usare una delle opzioni seguenti per connettersi:
Connettersi a un computer SQL Server remoto: immettere i valori appropriati per Nome server, Nome utente di dominio e Password.
Note
Lo strumento usa un'API Windows per eseguire query e visualizzare le informazioni di configurazione Kerberos per il computer SQL Server. Immettere 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.
Connettersi a un server locale: selezionare Connetti per analizzare la configurazione Kerberos. Non è necessario specificare il nome del server, il nome utente di dominio o la password.
Note
L'account che avvia lo strumento deve essere un account amministratore locale. Per informazioni su come avviare un'app come amministratore o un altro utente, vedere Usare Esegui per avviare un'app come amministratore.
Schede e comandi in Kerberos Gestione configurazione
Al termine della connessione, lo strumento mostra tutti i nomi SPN correlati, come illustrato nello screenshot seguente.
Lo strumento include le schede seguenti:
- Sistema: visualizza le informazioni utente e le informazioni sul computer.
- SPN: visualizza le informazioni sul nome SPN relative a ogni istanza di SQL Server individuata dallo strumento nel server di destinazione. Fornisce anche dettagli, ad esempio il nome SPN richiesto e il relativo stato. Ogni riga include i pulsanti Genera e Correggi .
- Delega: identifica i problemi che influiscono sulla configurazione dell'account del servizio per la delega.
Generare uno script di generazione SPN
Usare Genera nella scheda SPN per trovare nomi SPN mancanti e creare uno script che è possibile eseguire al prompt dei comandi:
Nella colonna SpN Script della scheda SPN selezionare Genera per il nome SPN che si vuole creare uno script.
Nella finestra di dialogo visualizzata specificare un nome (in questo esempio , generateSPNss), impostare Salva come tipo su Kerberos Config Mgr (.cmd) e quindi selezionare Salva.
Lo strumento crea il file generateSPNss.cmd . Il contenuto del file è 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.
Risolvere i problemi relativi al nome SPN
Nella scheda SPN 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 Correggi, lo strumento visualizza la descrizione comando seguente:
Note
Lo strumento fornisce i comandi Correggi e Genera 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 statiche o fornire all'account del servizio le autorizzazioni per registrare e annullare la registrazione del nome SPN ogni volta che viene avviato il servizio SQL Server. In caso contrario, è necessario annullare manualmente la registrazione e registrare nuovamente i nomi SPN corrispondenti ogni volta che il servizio viene avviato. Per altre informazioni, vedi Registrare un Nome Principale del Servizio per le connessioni Kerberos.
Controllare le impostazioni di delega
Usare delega per identificare i problemi che influiscono sulla configurazione dell'account del servizio per la delega. Questa opzione è particolarmente utile per la risoluzione dei problemi del server collegato. Ad esempio, se il controllo SPN supera ma le query del server collegato continuano a non riuscire, l'account del servizio potrebbe non essere configurato per delegare le credenziali. Per altre informazioni, vedere Server collegati (motore di database) e Problemi di connettività con i server collegati nell'autenticazione SQL Server.
Interpretare e agire sulla diagnosi del Gestione configurazione Kerberos
Esaminare la diagnosi dallo strumento controllando la colonna Stato . In base allo stato, seguire i passaggi appropriati per risolvere il problema. Le sezioni seguenti descrivono ogni stato.
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 visualizzato se il nome SPN elencato nella colonna SPN richiesto non è presente per l'account di avvio SQL Server in Active Directory.
Azione: seguire questa procedura per aggiungere il nome SPN mancante e verificare che il problema sia stato risolto:
- 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, lo strumento aggiunge il nome SPN necessario a Active Directory.
- Se l'account di dominio non dispone delle autorizzazioni necessarie per aggiornare Active Directory, usare Genera o Genera tutto per generare uno script che consenta all'amministratore di Active Directory di aggiungere i nomi SPN mancanti.
- Dopo aver aggiunto i nomi SPN, eseguire di nuovo Kerberos Gestione configurazione per verificare che i problemi del nome SPN vengano 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 Configurazione di rete di SQL Server.
- Nella console selezionare Protocolli per
<instance name>. - In Dettagli selezionare TCP/IP e quindi selezionare Abilita.
- Nella console selezionare Servizi SQL Server.
- 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" in 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 che Kerberos si connetta a SQL Server, impostare l'istanza denominata per usare una porta statica e usare tale porta quando si registra il nome SPN. In caso contrario, il nome SPN registrato in Active Directory diventa non valido al successivo avvio dell'istanza denominata in ascolto su una porta diversa.
Note
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 Configurazione di rete di SQL Server, espandere Protocolli per
<instance name>e quindi fare doppio clic su TCP/IP. - In Proprietà TCP/IP selezionare Ascolta tutto nella scheda 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 in Porte dinamiche TCP e immettere un numero di porta nella porta TCP.
- Selezionare OK e quindi riavviare l'istanza di SQL Server. Per altre informazioni, vedere 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 in Porte dinamiche TCP e quindi impostare un valore in Porta TCP.
- Selezionare OK e quindi riavviare l'istanza di SQL Server per rendere effettive le impostazioni. Per altre informazioni, vedere Configurare un server per l'ascolto su una porta TCP specifica.
Stato: SPN duplicato
Altre informazioni: questo stato viene visualizzato se lo stesso NOME SPN viene registrato in account diversi in Active Directory.
Azione: seguire questa procedura per rimuovere il nome SPN duplicato dalla Active Directory:
- Selezionare Correggi.
- Selezionare le informazioni nella finestra di dialogo Avviso .
- Selezionare Sì per rimuovere il nome SPN non corretto da Active Directory.
- Se l'account di dominio dispone delle autorizzazioni necessarie per aggiornare Active Directory, lo strumento elimina il nome SPN non corretto.
- Se l'account di dominio non dispone delle autorizzazioni necessarie per aggiornare Active Directory, usare Genera o Genera tutto per generare uno script che è possibile assegnare all'amministratore Active Directory per rimuovere i nomi SPN duplicati.
- Dopo la rimozione dei nomi SPN, eseguire di nuovo Kerberos Gestione configurazione per verificare che i problemi del nome SPN vengano risolti.
Note
Quando viene avviata un'istanza del motore di database di SQL Server, SQL Server prova a registrare il nome SPN per il servizio SQL Server. Quando l'istanza viene arrestata, SQL Server tenta di annullare la registrazione del nome SPN. Affinché questo processo venga eseguito, l'account del servizio SQL Server richiede le autorizzazioni appropriate in Active Directory. Se l'account del servizio non dispone di questi diritti, la registrazione automatica del nome SPN non viene eseguita. In tal caso, collaborare con l'amministratore Active Directory per registrare i nomi SPN in modo che le istanze di SQL Server possano usare l'autenticazione Kerberos. Per altre informazioni, vedi Registrare un Nome Principale del Servizio per le connessioni Kerberos.
Note
Negli ambienti in cui SQL Server è cluster, non è consigliabile registrare automaticamente i nomi SPN. L'annullamento della registrazione e la registrazione del nome SPN in Active Directory possono richiedere più tempo di quanto sia necessario per SQL Server essere online. Se la registrazione del nome SPN non viene eseguita nel tempo, SQL Server potrebbe non essere online perché l'amministratore del cluster non può connettersi all'istanza di SQL Server.
Opzioni aggiuntive in Kerberos Gestione configurazione
Generare l'elenco SPN dalla riga di comando
- Apri il prompt dei comandi. Per risolvere i problemi di connettività che interessano SSRS, aprire una finestra del prompt dei comandi amministrativa.
- Passare alla cartella che contiene KerberosConfigMgr.exe.
- Immetti
KerberosConfigMgr.exe -q -l. - Per altre opzioni della riga di comando, immettere
KerberosConfigMgr.exe -h.
Salvare la configurazione Kerberos di un server
- Connettersi al server Windows di destinazione.
- Selezionare Salva.
- Specificare dove salvare il file. Scegliere un'unità locale o una condivisione di rete. Lo strumento salva il file in formato .xml .
Visualizzare una configurazione Kerberos salvata
- Seleziona Carica.
- Aprire il file XML generato da Kerberos Gestione configurazione.
Visualizzare i file di log dello strumento
Per impostazione predefinita, lo strumento genera un nuovo file di log ogni volta che si esegue l'applicazione. È possibile trovare i file di log nella cartella dei dati dell'applicazione: %APPDATA%\Microsoft\KerberosConfigMgr.
Come ottenere assistenza
Usare uno dei metodi seguenti:
- Passare il puntatore del mouse su un comando per visualizzare una descrizione comando.
- Eseguire
KerberosConfigMgr.exe -hal prompt dei comandi. - Selezionare il pulsante ? sulla barra degli strumenti.