Pelo meu entendimento deste problema, é um problema "HOP".
ou seja, você está tentando usar o servidor A para retransmitir seus detalhes de login (com SSPI) para o servidor B.
No SQL Server 2005, eles adicionaram um monte de problemas de segurança que tornam isso mais difícil do que deveria ser. As palavras "Autenticação Kerberos" se tornarão o centro da vida da maioria dos administradores de sistemas / DBA. É efetivamente usado para autenticação de passagem.
Aqui estão os conceitos básicos do que você precisa. 1) Os servidores (A e B) precisam ser configurados no Active Directory (AD) com a delegação do Kerberos ativada. (isso é definido através do painel de administração do Active Directory)
2) A conta de serviço em que os servidores SQL são executados também precisa ter a delegação ativada (isso também é definido no painel de administração do diretório ativo). - se eles não estiverem sendo executados em uma conta de serviço, você precisará criar uma.
3) Os servidores precisam ter os SPNs definidos para a instância e o HOST e o nome da máquina. (Usando uma ferramenta chamada SetSPN nas ferramentas de suporte do Windows)
Ferramentas de suporte (SetSPN está neste conjunto)
http://www.microsoft.com/downloads/details.aspx?FamilyID=96a35011-fd83-419d-939b-9a772ea2df90&DisplayLang=pt
(Visão geral de como adicionar um SPN)
http://technet.microsoft.com/en-us/library/bb735885.aspx
4) Pode ser necessário definir seu banco de dados como "confiável"
ALTER DATABASE SET confiável em
5) Após concluir tudo isso, reinicie suas instâncias.
6) Em seguida, tente criar seu servidor vinculado novamente.
Finalmente, você pode testar sua conexão com o SQL Server. Isso deve funcionar bem se você tiver tudo configurado corretamente.
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=ServerB;Integrated Security=SSPI;'
).MASTER.dbo.syscolumns
Isso informará seu tipo de autenticação de conexão.
select auth_scheme from sys.dm_exec_connections where session_id=@@SPID
Você deseja obter 'KERBEROS' aqui e não 'NTLM'.
É uma ladeira escorregadia, KERBEROS e delegação de passagem, permaneçam nela e você acabará descobrindo.
Referências
Kerberos
http://blogs.msdn.com/sql_protocols/archive/2005/10/12/479871.aspx
http://blogs.msdn.com/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx
http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/the-biggest-mistake-serviceprincipalname-s.aspx
Outras manifestações do problema
http://www.sqlservercentral.com/Forums/Topic460425-359-1.aspx
http://msdn2.microsoft.com/en-us/library/aa905162(sql.80).aspx
http://msdn2.microsoft.com/en-us/library/ms189580.aspx
Espero que tudo isso ajude.