Ваш пример кажется простым, похоже, что вы добавляете только новых людей, а не ищете измененные данные в существующих записях. В этом случае сохраните последний идентификатор в БД.
CREATE TABLE dbo.LAST (RW int, LastID Int)
go
INSERT INTO dbo.LAST (RW, LastID) VALUES (1,0)
Теперь вы можете использовать это для вставки последнего идентификатора переданной строки.
UPDATE dbo.LAST SET LastID = @myLastID WHERE RW = 1
При выборе источника OLEDB , установите режим доступа к данным на Команда SQL и используйте
DECLARE @Last int
SET @Last = (SELECT LastID FROM dbo.LAST WHERE RW = 1)
SELECT * FROM AlphaPeople WHERE ID > @Last;
Обратите внимание, я предполагаю, что вы используете ID int IDENTITY
для своего ПК.
Если вам необходимо отслеживать изменения данных в существующих записях, тогда в каждой таблице есть столбец «Последнее изменение» и сохраните время последней передачи.
A другой метод будет включать настройку связанного сервера на бета-версии Alpha и запуск вашего примера без использования служб SSIS. Я ожидаю, что это будет намного медленнее и более ресурсоемким, чем решение SSIS.
INSERT INTO dbo.BetaPeople
SELECT * FROM [Alpha].[myDB].[dbo].[AlphaPeople]
WHERE ID NOT IN (SELECT ID FROM dbo.BetaPeople)