如何跟踪批处理包是否有效

时间:2018-02-13 10:05:02

标签: sql-server ssis etl sql-server-data-tools

我的 SSIS 项目中包含五个以上的软件包。面对运行包批次的困难,无法跟踪哪个包未运行,哪一个失败,哪一个是成功。重新运行包批处理如何设置失败的包起始点。

2 个答案:

答案 0 :(得分:0)

管理包裹执行

要管理Package运行,我更喜欢使用SQL Server Table。我在SQL Server中保留了一个包含类似列的表。

PackageName , LastExecuted , Error , Intervals

创建一个主包,它从该表中读取数据并根据其LastExecuted和interval值执行包。

同样执行在上次执行中出错的包等等,你就明白了。

管理重新运行的起点

根据您的来源和目的地的不同,它可能会有所不同。但是当您从SQL Server中提取或加载到SQL Server时,在SQL Server中创建一个可能包含两列的表。

PK_ID , Status

  1. 在程序包执行的第一步中,上载状态ID = 0(行状态启动)的行的主键值。

  2. 一旦包开始执行,设置设置StatusID = 1(行状态处理)

  3. 一个包执行完成设置StatusID = 2(行状态已处理)

  4. 最后,在最后一步中,使用StatusID = 2从该表中删除行,如果未删除任何内容,则删除已处理的行将在下次运行时处理。

答案 1 :(得分:0)

This might not be too big a deal; you can simply restart the package after the problem has been resolved and everything is back to normal. Event-handlers and Server login help you to identify problems but need a process which helps to identify failed batches to manage Start Points for Re-Runs. In detail, the article describes re-run process.