Переместить данные между разными серверами - PullRequest
0 голосов
/ 05 ноября 2018

Я работаю над проектом, в котором мне нужно автоматически запустить оператор вставки для вставки набора результатов - проблема в том, что он мне нужен для перехода с SQL Server на сервер DB2. Я не могу создать файл или скрипт, а затем импортировать его или запустить на другой стороне. Мне нужно вставить или обновить сторону DB2 со стороны SQL Server.

Возможно ли это? Мне нужно, чтобы это запускалось само по себе как часть хранимой процедуры в SQL Server.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Как уже упоминалось, вы можете использовать связанный сервер на стороне SQL Server для выполнения операций между двумя серверами. Я мало сделал с запуском DML в DB2 из SQL Server, но из моего опыта SSIS работает намного лучше, чем связанные серверы, для транзакций, передающих данные из DB2 в SQL Server с использованием соединения OLE DB. Вы можете прочитать больше о соединениях OLE DB в SSIS здесь , и вы захотите сослаться на документацию DB2 для конкретного типа DB2 (Mainframe, LUW и т. Д.), Который используется для получения подробной информации о настройке соединения там , Если вы настроили каталог служб SSIS, вы можете запускать пакеты, используя хранимые процедуры SQL Server, которые вы можете использовать напрямую или выполнять из существующих пользовательских хранимых процедур.

0 голосов
/ 05 ноября 2018

Вам нужна функция для связанного сервера .

Обычно связанные серверы настроены так, чтобы компонент Database Engine мог выполнять инструкцию Transact-SQL, включающую таблицы в другом экземпляре SQL Server или другом продукте базы данных, таком как Oracle. Многие типы источников данных OLE DB могут быть настроены как связанные серверы, включая Microsoft Access и Excel. Связанные серверы предлагают следующие преимущества:

  • Возможность доступа к данным извне SQL Server.
  • Возможность создавать распределенные запросы, обновления, команды и транзакции в разнородных источниках данных по всему предприятию.
  • Способность обращаться к разным источникам данных одинаково.

(я полагаю, что большинство основных РСУБД имеют аналогичную функцию)

По большей части , это, по сути, позволяет обрабатывать таблицы или источники в другой базе данных так, как если бы они были частью экземпляра SQL Server - оператор INSERT должен просто работать "нормально".

...