Я часто использую связанные серверы для синхронизации данных между средами, главным образом потому, что я считаю, что это самое простое решение для кодирования и управления.
Один совет, который я нашел, но, возможно, не подходит для других, состоял в том, чтобы запускать какие-либо процедуры на сервере, на котором больше всего данных или который выполняет наибольшее количество обновлений / вставок. Например, у меня есть процедура, которая сравнивает две таблицы и вставляет / обновляет от A до B. Если бы я запустил это на сервере A, это заняло бы много раз больше, чем выполнение процедуры на B. Если у вас нет выбора, где запустить наш код, и вы застряли, скажем, на сервере А, тогда этот совет может не помочь.
Еще один совет - уменьшить количество возвращаемых данных до необходимого минимума. В то время как обычно вы можете получить данные почти мгновенно на локальном сервере, если связанный сервер находится на некотором расстоянии, задержка может быть очень болезненной. Будьте строже, чем обычно, получая доступ только к тем столбцам, которые вам нужны.