在本地SQL Server数据库中,我有许多表在其中插入一系列商店的各种销售数据。我想通过Data Factory和一个本地数据管理网关,每隔15分钟将这些数据“收获”到Azure。很显然,我不想每隔15分钟复制全部表数据,但只能复制上次获取后插入的行。 据我所见,documentation建议为此使用数据“切片”。但是,据我所见,这些切片需要在从其中获取数据的表上存在时间戳(例如日期时间)列。使用Azure数据工厂进行增量数据传输
- 我可以在没有这样的时间戳列的情况下执行“delta”提取(即只提取自上次提取后插入的行)吗?我可以使用顺序整数列吗?甚至根本没有增量列?
- 假设最后一个切片从08:15到08:30有一个窗口。现在,如果数据库服务器上的时钟稍微落后于Azure时钟,那么它可能会添加一些行,其中时间戳被设置为08:29 之后已提取切片,并且在下一个切片时不会包含这些行(08:30至08:45)被提取。有没有一种聪明的方法来避免这个问题?将切片窗口移到过去几分钟可以将风险降至最低,但不能完全消除。
要计算时钟差异,可以在活动的策略对象上设置“延迟”。 –