Ao criar um Linked Server entre dois servidores com SQL Server 2008, via Windows Authentication, me deparei com o erro abaixo:
Dando uma Googleada investigada, li que poderia ser por causa da delegação via Kerberos não estar funcionando. O nome do “cara”: Kerberos constrained delegation.
Tá, mas como eu sei que eu estou me conectando usando o Kerberos?
1 2 |
SELECT connect_time, net_transport, auth_scheme FROM sys.dm_exec_connections |
No meu caso, as minhas instâncias estão sendo iniciadas com o usuário “Network Service”, então, para configurar a delegação, o que deve ser feito:
- Abra o AD
- Vá em Computers, botão direito na máquina de origem (a que você vai criar o linked server) e clique em Propriedades (pois estou rodando sob a conta “Network Service”).
- Clique na aba Delegation;
- Clique em Trust this user for delegation to specified services only
- Clique em Use Kerberos Only
- Clique em Add e Users and Computers
- Procure pela máquina desejada (a que será consultada)
- Selecione os serviços MSSQLSvc
- Ok em tudo.
E era isso… Após o procedimento, o linked server passou a funcionar adequadamente.
Mais uma vez, no meu caso, eu estou usando as contas Network Service. Se você está usando usuários de domínio, existem alguns passos adicionais para configurar o SPN e etc, que eu vou deixar nos links abaixo para consulta (não vou transcrever o texto por motivo óbvios).
Abraços e até a próxima!
Fontes: