Как создать и запросить связанные серверы баз данных в SQL Server?

Мне нужно сделать соединение на двух разных серверах баз данных (IPs 10.0.0.50 и 10.0.0.51). Каков наилучший способ?

4 ответов


для создания связанного сервера необходимо использовать sp_linkedserver.

sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ] 
 [ , [ @provider= ] 'provider_name' ]
 [ , [ @datasrc= ] 'data_source' ] 
 [ , [ @location= ] 'location' ] 
 [ , [ @provstr= ] 'provider_string' ] 
 [ , [ @catalog= ] 'catalog' ] 

дополнительная информация доступна на MSDN.


решение я нашел:

1) запустить сохраненный proc

exec sp_addlinkedserver    @server='10.0.0.51'

2) Убедитесь, что серверы были связаны (список связанных серверов)

exec sp_linkedservers

3) запустите запрос, используя формат

 [10.0.0.51].DatabaseName.dbo.TableName

Я знаю, что ответы выше хороши, но хотел бы поделиться некоторыми деталями, которые, я надеюсь, другие найдут полезными. Стоит упомянуть о части доступа пользователя, с которой, я думаю, людям понадобится помощь.

настройка ссылке:

exec sp_addlinkedserver @server='10.10.0.10\MyDS';

настройка доступа для удаленного пользователя, пример ниже:

exec sp_addlinkedsrvlogin '10.10.0.10\MyDS', 'false', null, 'adm', 'pwd';

см. связанные серверы и пользователя логины:

exec sp_linkedservers;

select * from sys.servers;

select * from sys.linked_logins;

запустить удаленный запрос:

select * from [10.10.0.10\MyDS].MyDB.dbo.TestTable;

удалите связанный сервер и созданных пользователей входа (adm/pwd)

exec sp_dropserver '10.10.0.10\MyDS', 'droplogins'; -- drops server and logins

ресурсы:

процедуры sp_addlinkedserver

процедура sp_dropserver

процедуры sp_addlinkedsrvlogin

процедура sp_droplinkedsrvlogin


вы можете, как уже упоминалось, используйте хранимую процедуру sp_addlinkedserver. Однако это также можно сделать с помощью Enterprise Manager (2000) или SQL Server Management Studio (2005). Под узлом "безопасность" находится узел "связанные серверы", который можно использовать для добавления и настройки связанных серверов. Можно задать параметры безопасности, олицетворения и т. д.

см. это для SQL Server 2000:

Настройка Связанных Серверов

Установление Безопасности Для Связанных Серверы

настройка поставщиков OLEDB для распределенных запросов

см. это для SQL Server 2005:

Связывание Сервера

безопасность для связанных серверов

настройка связанных серверов для делегирования

настройка поставщиков OLEDB для распределенных запросов