скопировать данные с одного сервера на другой с помощью запроса в мастере импорта / экспорта? - PullRequest
1 голос
/ 26 марта 2011

У меня есть одна таблица a на одном сервере БД .. и таблица b на другом сервере.

Я хотел бы обновить таблицу b, используя значения в таблице a.

Как мнеуказать имя сервера в запросе?

UPDATE SELECT * from [db1].[dbo].StgMGBPData
   SET ASO_Ind = [db2].[dbo].Customer_Names.ASO_Ind,
       Company = [db2].[dbo].Customer_Names.Company,
       Rpt_Cust_ID = [db2].[dbo].Customer_Names.Rpt_Cust_ID
  FROM [db2].[dbo].Customer_Names
  JOIN [db1].[dbo].StgMGBPData ON [db2].[dbo].Customer_Names.Src_Cust_ID = [db1].[dbo].StgMGBPData.CustomerID

Ответы [ 2 ]

1 голос
/ 26 марта 2011

Попробуйте связанный сервер, потому что без связанного сервера вы не можете использовать имя сервера в запросе.

Вы можете использовать sp_addlinkedserver.Смотрите пример здесь:

EXEC sp_addlinkedserver
   @server = 'SERVER',-- your servername
   @provider = 'SQLOLEDB',
   @srvproduct = '',
   @datasrc = 'SERVER', -- your servername
   @catalog = 'NHS_032808' 
   -- your database name which you want to connect

Например, выполните процедуру с таким же параметром после того, как вы можете запустить запрос в подключенной базе данных, как показано ниже.

select * from SERVER.NHS_032808.dbo.tbl_resident_mst
0 голосов
/ 26 марта 2011

Если отсутствие разрешений не позволяет использовать Linked Server, но вы можете подключиться к обоим серверам с клиента и иметь необходимые полномочия выбора для таблицы на сервере A и необходимые разрешения на обновление / вставку для таблицы на сервереB, тогда вы можете использовать Micorosoft JET в своем клиенте для соединения серверов.Данные с сервера A передаются клиенту, а затем отправляются на сервер B. Это относится к общей категории «гетерогенных объединений», которая была одной из основных сильных сторон JET в сценарии уровня предприятия (на нескольких серверах).Этот мост требует большей пропускной способности, чем подход с использованием связанного сервера, но он выполнит свою работу.Вы будете создавать ссылки в JET на таблицы на каждом сервере и сможете ссылаться на них в одном запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...