Share via


Visão geral do Configuration Manager Kerberos para SQL Server

Aplica-se ao: SQL Server

Número de KB original: 2985455

Uma configuração kerberos incorreta em sua rede pode causar vários erros de conectividade no Microsoft SQL Server. Kerberos Configuration Manager for SQL Server é uma ferramenta de diagnóstico que ajuda você a solucionar problemas de conectividade relacionados ao Kerberos que afetam SQL Server, SQL Server Reporting Services (SSRS) e 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 kerberos que afetam SQL Server.

Observação

Kerberos Configuration Manager é fornecido como está e nenhum suporte técnico ou atualizações são oferecidas para ele. Ele não foi atualizado para usar SQL Server 2022 e versões posteriores do provedor WMI. Para solucionar problemas e diagnosticar problemas de configuração kerberos relacionados a SQL Server, consulte SQLCheck.

Funções do kerberos Configuration Manager

Kerberos Configuration Manager pode fazer as seguintes tarefas:

  • Colete informações sobre o sistema operacional, as instâncias do Microsoft SQL Server e Always On Ouvintes do Grupo de Disponibilidade instalados em um servidor.
  • Relatar 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

Esta ferramenta ajuda você a solucionar problemas das seguintes exceções:

  • 401

    Nota: Essa mensagem de erro é para erros HTTP, erros SSRS e outros erros semelhantes.

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

Observação

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

Observação

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

Baixar 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 em 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 tem 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 De gravação validada para o nome do princípio do serviço .

Usando a ferramenta

Depois que a instalação for concluída, inicie o binárioKerberosConfigMgr.exe navegando até a pasta de instalação. Por padrão, o local é C:\Program Files\Microsoft\Kerberos Configuration Manager para 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 em SQL Server, insira os valores apropriados para Nome do Servidor, Nome de Usuário de 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 kerberos para o computador SQL Server. Portanto, insira sempre o nome do computador que hospeda a instância SQL Server, mesmo que você esteja 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, todas as SPNs relacionadas serão mostradas na captura de tela a seguir.

Captura de tela de uma exibição das 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 as informações do computador.

  • SPN: exibe as informações do SPN (Nome da Entidade de Serviço) sobre cada uma das instâncias de SQL Server encontradas no servidor de destino e fornece detalhes como o SPN necessário e sua 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 aberta, forneça um nome (nesse caso, "generateSPNss"), defina Salvar como tipo 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 executar esse arquivo em um prompt de comando. O conteúdo do arquivo generateSPNss.cmd se assemelhará 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 para SQL Server.

  • Use Correção para corrigir problemas e adicionar SPNs. Você só pode 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 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 o registro manual e registrar novamente os SPNs correspondentes sempre que o serviço for iniciado. Para obter mais informações, consulte Registrar um nome da entidade de serviço para Kerberos Connections.

  • Delegação: use Delegação para identificar quaisquer problemas que afetam 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 checkout do SPN estiver bem, mas você ainda tiver problemas que afetam consultas de servidor vinculado, isso pode indicar que a conta de serviço não está configurada para delegar credenciais. Para obter mais informações, confira o tópico Livros online em Configurar servidores vinculados para delegação.

    Captura de tela da guia Delegação.

Interpretando e agindo sobre o diagnóstico do kerberos Configuration Manager

Examine o diagnóstico da ferramenta referindo-se à coluna Status . Com base no status, siga as etapas apropriadas para resolve o problema.

  • Status – Bom

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

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

  • Status – SPN obrigatório está ausente

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

    Ação: siga estas etapas para marcar se os problemas do SPN são resolvidos:

    1. Selecione Correção para examinar 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 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 as SPNs forem adicionadas, execute Kerberos Configuration Manager novamente para verificar se os problemas do SPN são 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 SQL Server:

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

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

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

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

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

    6. Selecione Reiniciar para parar e reiniciar o serviço SQL Server. Para obter informações adicionais, consulte Habilitar ou desabilitar uma seção Protocolo de Rede do 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 Kerberos para se conectar a SQL Server, você deve definir sua instância nomeada para usar uma porta estática e usar essa porta quando 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 ouvir em uma nova porta diferente daquela em que o SPN foi registrado.

    Observação

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

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

    1. Em SQL Server Configuration Manager – Console, expanda SQL Server Configuração de Rede, expanda Protocolos para <instance name>e clique duas vezes em TCP/IP.
    2. Em Propriedades TCP/IP, selecione Ouvir 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 SQL Server. Para obter mais informações, consulte Configurar um Servidor para Escutar em uma Porta TCP Específica.
    6. Se Listen All estiver definido como Não, alterne para Endereços IP e marcar todos os endereços IP exibidos 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 na porta TCP.
    7. Selecione OK e reinicie a instância 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 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 as SPNs duplicadas.

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

    Observação

    Quando uma instância do mecanismo de banco de dados SQL Server é iniciada, SQL Server tenta registrar o SPN para o serviço SQL Server. Quando a instância é interrompida, SQL Server tenta cancelar o registro do SPN. Para que isso ocorra, a conta de serviço SQL Server requer as permissões apropriadas no Active Directory. Mas se a conta de serviço não tiver esses direitos, o registro SPN automático 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, consulte Registrar um nome da entidade de serviço para Kerberos Connections.

    Observação

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

Opções adicionais

Para gerar a Lista de SPN 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 de Prompt de Comando administrativo.

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

  3. Digite KerberosConfigMgr.exe -q -l.

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

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

  1. Conecte-se ao servidor Windows de destino.
  2. Selecione Salvar.
  3. Especifique o local para o qual você deseja que o arquivo seja salvo. Ele pode estar em uma unidade local ou em um compartilhamento de rede. O arquivo será salvo no formato .xml .

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

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

Para exibir os arquivos de log desta 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