Да - запросы, объединяющие два набора данных в разных физических базах данных, работают плохо.
например. Если вы выполняете запрос между таблицей A на текущем сервере и B на связанном сервере.
Select A.Field1, B.Field2 FROM A INNER JOIN B on A.Id = B.Id
WHERE B.Id = @InputId
вы можете обнаружить, что все записи для таблицы B получены - эффективно
Select * from Table B
на рабочий сервер.
Вместо этого вы хотели бы иметь usp на связанном сервере, который принимает Id в качестве параметра и возвращает отфильтрованный набор записей из таблицы B
Затем перепишите запрос выше, чтобы вместо этого присоединить таблицу A к usp.