发生同步事务时的批处理

时间:2009-10-27 18:03:27

标签: batch-processing

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

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

我在考虑大部分批处理到特定日期,这将占总批处理的95%左右,剩下的5%将是输入的新记录并处理它们?有什么想法吗?

3 个答案:

答案 0 :(得分:0)

为什么不依靠“日记”表来跟踪通过“下载”过程处理的行?如果新的“条目”出现,它们将在稍后被提取,不是吗?

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

关于期刊创意的+1,但您考虑过代理吗?

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

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