Compartilhar via


Visão geral do Kerberos Configuration Manager para SQL Server

Aplica-se a: SQL Server

Número original do KB: 2985455

Uma configuração incorreta do Kerberos em sua rede pode causar vários erros de conectividade no Microsoft SQL Server. O Kerberos Configuration Manager para SQL Server é uma ferramenta de diagnóstico que ajuda você a solucionar problemas de conectividade relacionados ao Kerberos que afetam o SQL Server, o SQL Server Reporting Services (SSRS) e o SQL Server Analysis Services (SSAS). Este artigo fornece informações sobre como usar a ferramenta Kerberos Configuration Manager e como interpretar a saída da ferramenta para corrigir problemas do Kerberos que afetam o SQL Server.

Observação

O Kerberos Configuration Manager é fornecido no estado em que se encontra e nenhum suporte técnico ou atualizações são oferecidos para ele. Ele não foi atualizado para usar o SQL Server 2022 e versões posteriores do provedor WMI. Para solucionar problemas de configuração do Kerberos relacionados ao SQL Server, consulte SQLCheck.

Funções do Kerberos Configuration Manager

O Kerberos Configuration Manager pode executar as seguintes tarefas:

  • Colete informações sobre o sistema operacional, as instâncias do Microsoft SQL Server e os Ouvintes do Grupo de Disponibilidade Always On instalados em um servidor.
  • Relate todas as configurações de SPN (Nome da Entidade de Serviço) e delegação no servidor.
  • Identifique possíveis problemas em SPNs e delegações.
  • Corrija possíveis problemas de SPN.

Cenários de uso

Essa ferramenta ajuda você a solucionar as seguintes exceções:

  • 401

    Observação: essa mensagem de erro é para erros de HTTP, erros de SSRS e outros erros semelhantes.

  • Não é possível gerar o contexto da SSPI
  • Falha no logon do usuário 'NTAUTHORITY\ANONYMOUS LOGON'
  • Falha no logon do usuário "(null)"
  • Falha no login do usuário (vazio)

Observação

Antes de começar a solucionar problemas, recomendamos que você examine os pré-requisitos e, em seguida, percorra a lista de verificação geral para solucionar erros relacionados à conectividade.

Observação

Se você tiver acesso de administrador ao computador baseado no SQL Server, também poderá executar a ferramenta Verificação de Configurações de Conectividade do SQL nesse computador e examinar a saída para verificar a configuração do SPN da instância do SQL Server.

Baixando a ferramenta

Esta ferramenta está disponível para download no Centro de Download da Microsoft:

Microsoft Kerberos Configuration Manager para SQL Server

Observação

Você pode baixar e instalar a ferramenta em qualquer computador em seu domínio que possa se conectar ao computador baseado no SQL Server.

Permissões

Para solucionar problemas de conectividade que afetam SQL, SSRS e SSAS, conecte-se ao computador de destino (que está hospedando o serviço) usando uma conta de usuário de domínio que tenha permissões administrativas para esse computador.

Opcional: Se você quiser usar a ferramenta para corrigir quaisquer problemas de SPN identificados pela ferramenta, a conta de domínio deverá ter a permissão Nome da entidade de serviço de gravação validada.

Usando a ferramenta

Após a conclusão da instalação, inicie o binário KerberosConfigMgr.exe navegando até a pasta de instalação. Por padrão, o local é C:\Arquivos de Programas\Microsoft\Kerberos Configuration Manager for SQL Server.

Para obter informações sobre como iniciar um aplicativo como administrador ou um usuário diferente, consulte Usar Executar para iniciar um aplicativo como administrador.

Use uma das seguintes opções para iniciar a solução de problemas:

  • Para se conectar a um computador remoto baseado no SQL Server, insira os valores apropriados para Nome do Servidor, Nome de Usuário do Domínio e Senha.

    Observação

    A ferramenta Kerberos Configuration Manager usa uma API do Windows para consultar e exibir informações sobre a configuração do Kerberos para o computador do SQL Server. Portanto, sempre insira o nome do computador que hospeda a instância do SQL Server, mesmo se você estiver solucionando problemas relacionados ao Kerberos para uma instância nomeada.

  • Para se conectar a um servidor local, selecione Conectar para analisar sua configuração Kerberos. Nesse caso, você não precisa especificar o nome do servidor, o nome de usuário do domínio ou a senha.

    Observação

    A conta que inicia a ferramenta deve ser uma conta de administrador local. Para obter informações sobre como iniciar um aplicativo como administrador ou um usuário diferente, consulte Usar Executar para iniciar um aplicativo como administrador.

Depois que a conexão for bem-sucedida, todos os SPNs relacionados serão mostrados na captura de tela a seguir.

Captura de tela de uma exibição de todas as três guias no Kerberos Configuration Manager.

Nesta captura de tela, a interface do usuário tem as seguintes guias:

  • Sistema: Exibe as informações do usuário e da máquina.

  • SPN: exibe as informações do SPN (Nome da Entidade de Serviço) sobre cada uma das instâncias do SQL Server encontradas no servidor de destino e fornece detalhes como o SPN necessário e seu status.

  • Gerar: ajuda você a encontrar SPNs ausentes e configurados. Ele também ajuda você a gerar o script de geração de SPN.

    1. Selecione Gerar.
    2. Na caixa de diálogo que é aberta, forneça um nome (nesse caso, "generateSPNss"), defina o tipo Salvar como como o arquivo Kerberos Config Mgr(.cmd) e selecione Salvar.

    Caixa de diálogo para fornecer um nome para o arquivo CMD.

O arquivo generateSPNss.cmd é criado e você pode executá-lo em um prompt de comando. O conteúdo do arquivo generateSPNss.cmd será semelhante ao seguinte exemplo:

:: 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** 
  • Use SetSPN para criar um SPN na conta de serviço do SQL Server.

  • Use Corrigir para corrigir problemas e adicionar SPNs. Você só poderá adicionar um SPN se tiver as permissões necessárias. Quando você seleciona Corrigir, a seguinte dica de ferramenta é exibida:

    Captura de tela da opção Corrigir para adicionar SPN.

    Observação

    A ferramenta fornece os comandos Corrigir e Gerar somente para instâncias padrão e instâncias nomeadas que têm portas estáticas. Para instâncias nomeadas que usam portas dinâmicas, recomendamos que você alterne de portas dinâmicas para estáticas ou forneça as permissões necessárias para que a conta de serviço registre e cancele o registro do SPN sempre que o serviço SQL for iniciado. Caso contrário, você precisará cancelar manualmente o registro e registrar novamente os SPNs correspondentes sempre que o serviço for iniciado. Para obter mais informações, veja Registrar um nome de entidade de serviço para conexões de Kerberos.

  • Delegação: use Delegação para identificar quaisquer problemas que afetem a configuração da conta de serviço para delegação. Isso é especialmente útil na solução de problemas do servidor vinculado. Por exemplo, se o check-out do SPN estiver correto, mas você ainda tiver problemas que afetam as consultas do servidor vinculado, isso pode indicar que a conta de serviço não está configurada para delegar credenciais. Para obter mais informações, consulte o tópico Manuais online em Configurando servidores vinculados para delegação.

    Captura de tela da guia Delegação.

Interpretando e agindo de acordo com o diagnóstico do Kerberos Configuration Manager

Revise o diagnóstico da ferramenta consultando a coluna Status . Com base no status, siga as etapas apropriadas para resolver o problema.

  • Status - Bom

    Mais informações: O item marcado está configurado corretamente. Vá para o próximo item na saída.

    Ação: Nenhuma ação é necessária.

  • Status - O SPN obrigatório está ausente

    Mais informações: Esse status será relatado se o SPN (Nome da Entidade de Serviço) mencionado na coluna SPN Obrigatório estiver ausente para a conta de inicialização do SQL Server no Active Directory.

    Ação: siga estas etapas para verificar se os problemas de SPN foram resolvidos:

    1. Selecione Corrigir para revisar as informações na caixa de diálogo Aviso .
    2. Selecione Sim para adicionar o SPN ausente ao Active Directory.
    3. Se sua conta de domínio tiver as permissões necessárias para atualizar o Active Directory, o SPN necessário será adicionado ao Active Directory.
    4. Se sua conta de domínio não tiver as permissões necessárias para atualizar o Active Directory, use Gerar ou Gerar Tudo para gerar o script que ajudará o administrador do Active Directory a adicionar os SPNs ausentes.
    5. Depois que os SPNs forem adicionados, execute o Kerberos Configuration Manager novamente para verificar se os problemas de SPN foram resolvidos.
  • Status - O TCP deve estar habilitado para usar a configuração Kerberos.

    Mais informações: Esse status será mostrado se o TCP não estiver habilitado no computador cliente.

    Ação: siga estas etapas para habilitar o protocolo TCP/IP para a instância do SQL Server:

    1. No SQL Server Configuration Manager – Console, expanda Configuração de Rede do SQL Server.

    2. No Console, selecione Protocolos para <instance name>.

    3. Em Detalhes, selecione TCP/IP e, em seguida, selecione Habilitar.

    4. No Console, selecione Serviços do SQL Server.

    5. Em Detalhes, selecione SQL Server para <instance name>.

    6. Selecione Reiniciar para interromper e reiniciar o serviço SQL Server. Para obter informações adicionais, consulte a seção Habilitar ou desabilitar um protocolo de rede de servidor.

  • Status - Porta Dinâmica

    Mais informações: Esse status é exibido para instâncias nomeadas que usam portas dinâmicas (configuração padrão). Em ambientes em que você precisa usar o Kerberos para se conectar ao SQL Server, você deve definir sua instância nomeada para usar uma porta estática e usar essa porta ao registrar o SPN. Caso contrário, o SPN registrado no Active Directory se tornará inválido na próxima vez que uma instância nomeada começar a escutar em uma nova porta diferente daquela em que o SPN foi registrado.

    Observação

    Essa recomendação se aplica somente a ambientes que dependem do registro manual de SPN.

    Ação: siga estas etapas para configurar a instância do SQL Server para usar uma porta estática:

    1. No SQL Server Configuration Manager – Console, expanda Configuração de Rede do SQL Server, expanda Protocolos para <instance name>e clique duas vezes em TCP/IP.
    2. Em Propriedades TCP/IP, selecione Escutar Tudo no Protocolo.
    3. Se Ouvir tudo estiver definido como Sim, alterne para Endereços IP e role até a parte inferior da janela para encontrar a configuração IPAll .
    4. Exclua o valor atual em Portas dinâmicas TCP e insira um número de porta na porta TCP.
    5. Selecione OK e reinicie a instância do SQL Server. Para obter mais informações, consulte Configurar um Servidor para Escutar em uma Porta TCP Específica.
    6. Se Ouvir tudo estiver definido como Não, alterne para Endereços IP e verifique todos os endereços IP que aparecem nos nós IP1 e IP2. Para endereços definidos como Habilitados, remova o valor atual em Portas Dinâmicas TCP e defina um valor em Porta TCP.
    7. Selecione OK e reinicie a instância do SQL Server para que as configurações entrem em vigor. Para obter mais informações, consulte Configurar um Servidor para Escutar em uma Porta TCP Específica.
  • Status - SPN duplicado

    Mais informações: Você poderá encontrar esse cenário se o mesmo SPN estiver registrado em contas diferentes no Active Directory.

    Ações: siga estas etapas para adicionar um SPN ao Active Directory:

    1. Selecione Corrigir.

    2. Verifique as informações na caixa de diálogo Aviso .

    3. Selecione Sim para adicionar o SPN ausente ao Active Directory.

      • Se sua conta de domínio tiver as permissões necessárias para atualizar o Active Directory, o SPN incorreto será excluído.

      • Se sua conta de domínio não tiver as permissões necessárias para atualizar o Active Directory, use Gerar ou Gerar Tudo para gerar o script necessário que você pode fornecer ao administrador do Active Directory para remover os SPNs duplicados.

    4. Depois que os SPNs forem removidos, execute novamente o Kerberos Configuration Manager para verificar se os problemas de SPN foram resolvidos.

    Observação

    Quando uma instância do Mecanismo de Banco de Dados do SQL Server é iniciada, o SQL Server tenta registrar o SPN para o serviço SQL Server. Quando a instância é interrompida, o SQL Server tenta cancelar o registro do SPN. Para que isso ocorra, a conta de serviço do SQL Server requer as permissões apropriadas no Active Directory. Mas se a conta de serviço não tiver esses direitos, o registro automático de SPN não ocorrerá e você deverá trabalhar com o administrador do Active Directory para registrar esses SPNs para que as instâncias SQL possam habilitar a autenticação Kerberos. Para obter mais informações, veja Registrar um nome de entidade de serviço para conexões de Kerberos.

    Observação

    Em ambientes em que o SQL é clusterizado, o registro automático de SPNs não é recomendado porque pode levar mais tempo para cancelar o registro do SPN e registrá-lo novamente no Active Directory do que o tempo necessário para o SQL Server ficar online. Se o registro do SPN não ocorrer a tempo, isso poderá impedir que o SQL Server fique online porque o administrador do cluster não pode se conectar à instância do SQL Server.

Opções adicionais

Para gerar a Lista de SPNs a partir da linha de comando:

  1. Vá para a linha de comando.

    Observação

    Para solucionar problemas de conectividade que afetam o SSRS, abra uma janela administrativa do Prompt de Comando.

  2. Alterne para a pasta que contém KerberosConfigMgr.exe.

  3. Digite KerberosConfigMgr.exe -q -l.

  4. Para obter mais opções de linha de comando, digite KerberosConfigMgr.exe -h.

Para salvar as informações de configuração do Kerberos de um servidor:

  1. Conecte-se ao servidor Windows de destino.
  2. Selecione Salvar.
  3. Especifique o local em que deseja que o arquivo seja salvo. Pode ser em uma unidade local ou em um compartilhamento de rede. O arquivo será salvo em .xml formato.

Para exibir as informações de configuração Kerberos de um servidor a partir do arquivo salvo:

  1. Selecione Carregar.
  2. Abra o arquivo XML gerado pelo Kerberos Configuration Manager.

Para exibir os arquivos de log dessa ferramenta:

Por padrão, um arquivo de log é gerado sempre que o aplicativo é executado na pasta de dados do aplicativo: %APPDATA%\Microsoft\KerberosConfigMgr.

Para obter ajuda, use qualquer um dos seguintes métodos:

  • Passe o ponteiro do mouse sobre o comando para gerar uma dica de ferramenta.
  • Execute KerberosConfigMgr.exe -h no prompt de comando.
  • Selecione o botão Ajuda na barra de ferramentas.

Confira também