Nach meinem Verständnis dieses Problems handelt es sich um ein "HOP" -Problem.
Sie versuchen also, Server A zu verwenden, um Ihre Anmeldedaten (mit SSPI) an Server B weiterzuleiten.
In SQL Server 2005 haben sie eine ganze Reihe von Sicherheitsproblemen hinzugefügt, die dies schwieriger machen, als es sein sollte. Die Worte "Kerberos-Authentifizierung" werden für die meisten Systemadministratoren / Datenbankadministratoren von großer Bedeutung sein. Es wird effektiv für die Passthrough-Authentifizierung verwendet.
Hier sind die Grundlagen dessen, was Sie brauchen. 1) Die Server (A und B) müssen in Active Directory (AD) mit aktivierter Kerberos-Delegierung eingerichtet werden. (Dies wird in Ihrem Active Directory-Verwaltungsbereich festgelegt.)
2) Für das Dienstkonto, unter dem Ihre SQL Server ausgeführt werden, muss auch die Delegierung aktiviert sein (dies wird auch in Ihrem Active Directory-Verwaltungsbereich festgelegt). - Wenn sie nicht unter einem Dienstkonto ausgeführt werden, müssen Sie ein Konto erstellen.
3) Auf den Servern müssen SPNs für die Instanz und den Host sowie den Computernamen definiert sein. (Verwenden eines Tools namens SetSPN in den Windows-Supporttools)
Support-Tools (SetSPN ist in diesem Set enthalten)
http://www.microsoft.com/downloads/details.aspx?FamilyID=96a35011-fd83-419d-939b-9a772ea2df90&DisplayLang=de
(Übersicht über das Hinzufügen eines SPN)
http://technet.microsoft.com/en-us/library/bb735885.aspx
4) Möglicherweise müssen Sie Ihre Datenbank auf "vertrauenswürdig" einstellen.
ALTER DATABASE SET vertrauenswürdig ein
5) Nachdem Sie dies alles erledigt haben, starten Sie Ihre Instanzen neu.
6) Versuchen Sie dann erneut, Ihren Verbindungsserver zu erstellen.
Schließlich können Sie Ihre Verbindung zu SQL Server testen. Dies sollte gut funktionieren, wenn Sie alles richtig konfiguriert haben.
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=ServerB;Integrated Security=SSPI;'
).MASTER.dbo.syscolumns
Hier erfahren Sie, welche Art der Verbindungsauthentifizierung Sie verwenden.
select auth_scheme from sys.dm_exec_connections where session_id=@@SPID
Sie möchten 'KERBEROS' hier und nicht 'NTLM' erhalten.
Es ist eine rutschige Piste, KERBEROS und Pass-Through-Delegation, bleiben Sie dabei und Sie werden es irgendwann herausfinden.
Verweise
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
Andere Erscheinungsformen des Problems
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
Ich hoffe das alles hilft.