Каковы недостатки использования связанных серверов в SQL Server? - PullRequest
10 голосов
/ 21 июня 2011

Существуют ли серьезные проблемы с производительностью или проблемы безопасности?

Использование SQL Server 2005 и выше

Ответы [ 3 ]

12 голосов
/ 21 июня 2011
  • Миграция сервера более запутанная
  • Безопасность может быть сложно настроить для нескольких прыжков
  • Для не-SQL Server требуется локальный драйвер (Sybase, DB2 и т. Д.)
  • Кластеры, автономные DR: записи реестра + драйверы
  • Не-SQL Server x64 беды. 'Нафф сказал
  • Не-SQL Server не очень хорошо играют (сколько мест для ввода пароля?)
  • Производительность (в других ответах)

Я настроил связанные серверы для Access, DB2, Oracle, Sybase и нечетного проприетарного драйвера ODBC. Я бы предпочел код SSIS или .net сейчас ...

8 голосов
/ 21 июня 2011

Да - запросы, объединяющие два набора данных в разных физических базах данных, работают плохо.

например. Если вы выполняете запрос между таблицей 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.

4 голосов
/ 21 июня 2011

Установка одного (или нескольких) на сервере не является проблемой - снижение производительности произойдет, когда вы начнете их фактически запрашивать.

У меня установлен Linked SQLServer 2005, которыйв том же физическом корпусе (в той же сети), и это не проблема - быстро, как вам нравится.

У меня также есть другой связанный сервер (Oracle), который находится на другой стороне мира и похож на ходьбу.через патоку и тайм-аут, разрывает соединения (см. здесь !)

Извините, что расплывчато, но ... это зависит!

...