如果数据库中的数据正在更新,我们是否提取数据快照或更新数据table?

Do we extract snapshot of data or updated data if data is being updated in the database table?

美好的一天团队,

我们必须从 SQL 数据库 table 中提取数据,这些数据每小时更新一次(更新插入),更新时间大约为 15 分钟。我们必须在 1 小时内提取所有 tables 以获得与我们的目标 table(使用这些源 tables)相同的数据。 1 table 太大,提取需要将近 5 个小时。

现在我的问题是,假设我有一个 table XYZ 需要 5 个小时来提取,并且我在中午 12 点开始提取数据,即使 XYZ 再次更新,我是否会得到中午 12 点的静态数据在下午 1 点、下午 2 点、下午 3 点、下午 4 点、下午 5 点或我们获得下午 5 点的更新数据。

注意:我使用的是 SSIS

抱歉,如果这是一个非常基本的问题,我对 SQL 专业知识不是很熟悉。

数据源扫描table,你会得到读取时的记录版本。

阅读时间可以是那5小时内的任何时间window。您可以通过向源组件添加顺序子句来减少影响,以便最后读取和传输最新数据。这将确保您希望在这 5 小时内获得最多更新的数据以捕获最多的更新

如果 upsert 更新了一条已经在 5 小时内复制的记录 window 那么您将错过更新

最终,如果您需要捕获每一个更新插入,则需要查看增量加载设计