Ich habe Verbindungsserver für Access, DB2, Oracle, Sybase und den seltsamen proprietären ODBC-Treiber eingerichtet. Ich würde jetzt SSIS oder .net-Code bevorzugen ...
Ja - Abfragen, die zwei Datensätze in verschiedenen physischen Datenbanken verbinden, funktionieren schlecht.
z.B. Wenn Sie eine Abfrage zwischen Tabelle A auf dem aktuellen Server und B auf einem Verbindungsserver ausführen.
%Vor%Sie können feststellen, dass alle Datensätze für Tabelle B abgerufen werden - effektiv
%Vor%in den funktionierenden Server.
Was Sie stattdessen tun möchten, ist ein usp auf dem Verbindungsserver, der eine ID als Parameter akzeptiert und ein gefiltertes Recordset aus Tabelle B zurückgibt.
Schreiben Sie dann die obige Abfrage neu, um stattdessen Tabelle A mit dem usp zu verbinden.
Eine (oder mehrere) Einstellungen auf dem Server sind nicht das Problem - der Performance-Hit wird sein, wenn Sie sie tatsächlich abfragen.
Ich habe einen Linked SQL Server 2005 eingerichtet, der sich im selben Gebäude befindet (im selben Netzwerk) und es ist kein Problem - so schnell wie Sie möchten.
Ich habe auch einen anderen Linked (Oracle) -Server, der auf der anderen Seite der Welt ist, als würde man durch Sirup laufen und die Verbindung abbrechen (siehe hier !)
Sorry, um vage zu sein, aber ... es kommt darauf an!
Tags und Links sql-server linked-server