SSIS - обновление исходных записей после передачи - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть 2 сервера SQL. Сервер A и Сервер B

У них обоих есть таблица с именем "OrderRequest"

Сервер A находится "в доме", а Сервер B находится в нашем центре обработки данных.

Сервер A имеет связанный сервер - Сервер B На сервере B есть связанный сервер обратно к серверу A

Мне нужно удалить последний связанный сервер, поскольку брандмауэр, который позволяет ServerB «видеть» ServerA, меняется и больше этого не позволяет.

У нас есть пакет служб SSIS, который копирует данные из нашего центра обработки данных (ServerB) на наш внутренний сервер (ServerA)

На данный момент оператор SQL выглядит следующим образом:

SELECT *
FROM ServerB.OrderRequest
WHERE
OrderID NOT In (SELECT OrderID FROM ServerA.OrderRequest)

Как вы можете видеть, для этого потребуется, чтобы ServerB мог «видеть» ServerA

Что я хочу сделать, это что-то вроде:

SELECT *
FROM ServerB.OrderRequest
WHERE
Transferred = 0

Это достаточно просто сделать. Тем не менее, в моей SSIS у меня есть Союз (так как у меня более одной WebDB) После этого они вставляются в ServerA.

То, что мне нужно сделать, установлено: Передано в значение true при успешной вставке. Как мне это сделать?

1 Ответ

1 голос
/ 03 декабря 2010

Очевидно, что есть много способов сделать это, но это зависит от нескольких факторов (например, вставляете ли вы больше записей в ServerB во время передачи?)

  • Выполнение многоадресной передачи в контейнер foreach. с командой OLE DB внутри. Вызов обновлять каждую запись на сервере B.
  • Начните транзакцию, прежде чем выбрать. После того, как выбор завершен, обновите все строки до перенесенного (если вы хотите еще больше атомарности, выберите во временную таблицу, чтобы убедиться, что вы обновляете правильно). После завершения: совершить. Ошибка: откат.
  • Просто запустите команду SQL после завершения: UPDATE ServerB.OrderRequest SET Передано = 1, ГДЕ Передано = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...