Вставьте значение в другую базу данных sqlserver - PullRequest
0 голосов
/ 30 октября 2009

У меня есть 2 сервера SQL:

  1. temp1 XX.13.23.2
  2. temp2 XX.23.45.6

Сервер temp1 имеет базу данных с именем db1 и содержит процедуру с именем p1. Я хочу, чтобы эта процедура вставляла значение на сервере базы данных Temp2 с именем db2 в таблицу T1.

Можно ли использовать процедуру для вставки значения в базу данных другого сервера?

Если это возможно, может кто-нибудь дать мне идею или несколько примеров того, как этого добиться?

Ответы [ 3 ]

3 голосов
/ 30 октября 2009

Да, пожалуйста, посмотрите на связанные серверы:

http://msdn.microsoft.com/en-us/library/ms188279%28SQL.90%29.aspx

0 голосов
/ 20 ноября 2009

Другой вариант, особенно если у вас будет разработанная версия процедуры, в которой вы хотите проводить тесты, и вы не хотите затрагивать производственную среду, - это использовать синонимы SQL Server: http://technet.microsoft.com/en-us/library/ms177544.aspx.

Мне лично нравится их использовать, потому что, как только процесс будет настроен для их использования, вам не придется менять SQL в процедуре.

0 голосов
/ 30 октября 2009

Вы можете вызвать удаленную хранимую процедуру из экземпляра, который вы хотите вставить в:

exec [RemoteServer].DatabaseName.DatabaseOwner.StoredProcedureName

Вам необходимо настроить RemoteServer в качестве связанного сервера.

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