0

我正在创建一个批处理来将一些信息从我的数据库移动到外部文件。这个任务是可以管理的,但是需要处理的数据很多,大概需要一个月左右的时间。

在这个月里,新的信息将不断上传。有什么方法可以让我进行批处理,然后返回新记录并处理它们(在批处理发生时我们无法关闭我们的上传系统)。

我在想可能到某个日期之前的大部分批处理,这将是整个批处理的 95% 左右,剩下的 5% 将是输入并处理的新记录?有什么想法吗?

4

3 回答 3

0

+1 期刊创意,但您是否考虑过代理?

您没有说明此应用程序是否允许您自由修改自己的架构或信息上传例程。如果您可以跟踪每条记录的最后修改时间,以及每条记录的最后备份时间,您可以轻松查询最近修改的记录。或者,您可以扫描在先前备份过程中修改的记录日志,并在最后执行追赶。

根据修改表的频率,在流程中向前跳转并将输入过程代理到数据库可能是有意义的。然后,您的输入代理将立即执行保存到外部文件,然后按预期更新数据库。这也可以让您从容地导出那些还没有文件的记录。

于 2009-10-29T07:04:55.863 回答
0

如果您使用的是 SQL Server 2008,则可以使用更改跟踪来查询自上次批处理以来数据库中的更改。

于 2009-10-27T19:24:57.673 回答
0

为什么不依靠“日志”表来跟踪通过“下载”过程处理了哪些行?如果有新的“条目”出现,它们只会在稍后被拾取,不是吗?

当然,您可以使用“创建/修改”日期字段索引字段按顺序处理批次。

请注意,我确定您为什么需要从“月”期间写入的新记录中处理当前记录。请说清楚。如果您需要区分,那么只需使用特定的“停止”日期开始您的“下载”过程。

于 2009-10-27T18:07:27.517 回答