2010-12-02 2 views
0

У меня есть 2 SQL-сервера. ServerA и ServerBSSIS - Обновить исходные записи после передачи

Они оба есть таблица под названием «OrderRequest»

ServerA находится «в доме» и ServerB в нашем центре обработки данных.

ServerA имеет связанный сервер - ServerB На ServerB есть связанный сервер обратно ServerA

Мне нужно удалить последний связанный сервер, как межсетевой экран, который позволяет 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 у меня есть Union (поскольку у меня есть несколько WebDB) После этого они вставляются в ServerA.

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

ответ

1

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

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

спасибо, после того, как некоторые более прибегая к помощи, я думаю, что контейнер Еогеасп путь вперед ... любая идея, как сделать это? Я добавил еще один вопрос по этому вопросу - http://stackoverflow.com/questions/4614518/ssis-using-a-foreach-loop-container-to-update-records-after-transfer – Alex 2011-01-07 12:43:29

Смежные вопросы