Como faço para que meu servidor vinculado funcione usando a autenticação do Windows?

20

Estou tentando obter um servidor vinculado ao ServerA criado em outro servidor, ServerB usando "Seja criado usando o contexto de segurança atual do logon" em um ambiente de domínio. Li que seria necessário criar SPNs para as contas de serviço que executam o SQL Server em cada um dos servidores para habilitar o Kerberos. Eu fiz isso e agora ambos mostram que o esquema de autenticação é Kerberos, no entanto, ainda estou enfrentando o erro:

"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".

No Active Directory, posso ver que a conta de serviço do ServerB é confiável para delegação ao MSSQLSvc, mas notei que a conta de serviço do ServerA ainda não tem "confiar neste usuário para delegação" habilitado. O servidor de destino também precisa ter essa opção ativada? É necessário algo mais para poder usar o logon atual do Windows para usar um servidor vinculado?

Christopher Garcia
fonte

Respostas:

22

Todas as máquinas da cadeia, da área de trabalho ao servidor que você está chamando, devem ter o Kerberos habilitado para que a confiança avance no primeiro salto. Portanto, sim, o servidor precisa confiar no usuário para delegação.

O "Falha no logon para o usuário 'NT AUTHORITY \ ANONYMOUS LOGON'" quase sempre indica um problema de delegação.

  • Sua conta do Windows deve ter acesso ao ServerA e ServerB.
  • Você não deve ter a configuração "A conta é sensível e não pode ser delegada".
  • O ServerA e o ServerB devem ter seu próprio SPN registrado.
  • Os servidores devem ser TCP / IP ou pipes nomeados conectados.

O artigo Manuais Online do SQL Server que oferece mais detalhes é "Configurando Servidores Vinculados para Delegação": http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx

RLF
fonte
11
Usefull MSDN Blog para detalhes sobre SPN e Kerberos
Jan Zahradník
Verifique também se você está usando um alias DNS para qualquer servidor, o SPN precisa corresponder.
Greg
-1

Duas coisas aqui:

  1. Ao usar um servidor vinculado sem mapear o logon do servidor local para o servidor remoto, não faça logon em uma máquina remota e use um logon do Windows para executar scripts. A questão do salto duplo entra em jogo, pois usa representação.

  2. Além disso, você precisará configurar o DTC local por meio do DCOMCNFG para comunicação. Veja a imagem em anexo.

(DCOMCNFG -> Serviços de Componentes -> Computadores -> Meu Computador -> Coordenador de Transações Distribuídas -> LocalDTC -> Propriedades -> Segurança)

insira a descrição da imagem aqui

Tequila
fonte