SQL Server не является распределенной системой баз данных, и поэтому вы не можете этого сделать. Однако в SQL Server есть способ заставить ваше приложение видеть базы данных с разных серверов как одну базу данных на одном сервере. Вам необходимо добавить связанные серверы и создать синонимы для объектов на другом сервере, чтобы получить к ним доступ таким же образом, как если бы они находились в одной базе данных.
Как указано в MSDN :
Синонимы могут быть созданы для следующих типов объектов: Сборка
(CLR) Хранимая процедура, сборка (CLR) Табличная функция, сборка
(CLR) скалярная функция, агрегатные функции сборки (CLR),
Процедура фильтра репликации, расширенная хранимая процедура, скаляр SQL
Функция, табличная функция SQL, встроенная табличная функция SQL,
Хранимая процедура SQL, представление, таблица (определяется пользователем)
Этот список, вероятно, покрывает все ваши потребности. Вы можете найти примеры создания синонимов для удаленных объектов в той же статье.
Как всегда, проверяйте производительность вашего приложения, поскольку запросы к распределенным объектам могут быть интенсивными в сети. Например, если вы объединяете две таблицы с разных серверов, существует сетевой трафик для передачи данных с одного сервера на другой. Возможно, вы хотите рассмотреть репликацию / доставку журналов / триггеры или около того, чтобы сохранить точные копии удаленных объектов в вашей основной базе данных.
Обратите внимание, что синонимы добавляются в SQL Server 2005, и ссылки, которые я здесь предоставил, относятся к SQL Server 2008 R2.