Z mojego zrozumienia tego problemu jest to problem „HOP”.
tzn. próbujesz użyć serwera A do przekazania danych logowania (za pomocą SSPI) do serwera B.
W SQL Server 2005 dodali całą masę problemów bezpieczeństwa, które sprawiają, że jest to trudniejsze niż powinno być. Słowa „Uwierzytelnianie Kerberos” staną się barem życia większości sys-admins / DBA. Jest skutecznie wykorzystywany do uwierzytelniania przekazywanego.
Oto podstawy tego, czego potrzebujesz. 1) Serwery (A i B) należy skonfigurować w usłudze Active Directory (AD) z włączonym delegowaniem dla protokołu Kerberos. (ustawia się to w panelu administracyjnym Active Directory)
2) Konto usługi, na którym działają Twoje serwery SQL, musi również mieć włączoną delegację (jest to również ustawiane w panelu administracyjnym Active Directory). - jeśli nie działają na koncie usługowym, musisz je utworzyć.
3) Serwery muszą mieć zdefiniowane nazwy SPN dla instancji, hosta i nazwy komputera. (Korzystanie z narzędzia o nazwie SetSPN w narzędziach obsługi systemu Windows)
Narzędzia wsparcia (SetSPN jest w tym zestawie)
http://www.microsoft.com/downloads/details.aspx?FamilyID=96a35011-fd83-419d-939b-9a772ea2df90&DisplayLang=en
(Omówienie sposobu dodawania nazwy SPN)
http://technet.microsoft.com/en-us/library/bb735885.aspx
4) Może być konieczne ustawienie DB na „godny zaufania”
ZMIEŃ ZESTAW BAZY DANYCH godne zaufania na
5) Po tym wszystkim zrestartuj instancje.
6) Następnie spróbuj ponownie utworzyć połączony serwer.
Wreszcie możesz przetestować połączenie z SQL Server. Powinno to działać poprawnie, jeśli masz wszystko poprawnie skonfigurowane.
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=ServerB;Integrated Security=SSPI;'
).MASTER.dbo.syscolumns
Dzięki temu dowiesz się, jaki jest typ uwierzytelnienia połączenia.
select auth_scheme from sys.dm_exec_connections where session_id=@@SPID
Chcesz dostać tutaj „KERBEROS”, a nie „NTLM”.
To śliskie zbocze, KERBEROS i delegacja tranzytowa, trzymaj się go, a w końcu to rozwiążesz.
Odnośniki
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
Inne przejawy problemu
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
Mam nadzieję, że to wszystko pomoże.