【问题标题】:SSIS Record the number of times a package has been executedSSIS 记录一个包被执行的次数
【发布时间】:2014-07-25 15:00:01
【问题描述】:

这听起来很简单,但我使用 SSIS 的经验有限。

基本上我想做的就是在一个SSIS包里面有一系列的任务,包的第一步是检查上一次运行是否成功完成并检查运行号。

其次,如果这成功了,则获取先前的运行编号并递增 1,并使用此新编号创建一个新的开始运行记录。然后一次调用一个包中的其他任务。再次,一旦这些都成功运行,创建一个 Completed Successfully 记录。

我不知道从哪里开始,以前从未接触过这种类型的错误处理和检查。我需要知道的是如何记录运行号,我看不到任何地方是允许我记录成功执行包的计数的 SSIS。

我有一个记录插入、更新和删除计数的日志表。

例如,如果我有一个包含 10 个模块的包,我需要记录插入、更新和删除计数及其持续时间,并为每个模块创建一个日志条目作为其自己的记录。但是我需要根据这些记录整个包的运行号。所以日志表将有例如对 10 个任务运行第 1 次,对另外 10 个任务运行第 2 次等。

这是我正在登录的表的图像,我希望我已经很好地解释了这一点,以便任何人都能理解。如您所见,这是在一个包执行之后,我希望这里的 RunNumber 为 1,然后如果我再次执行包,我需要接下来的 3 条记录的 RunNumber 为 2,依此类推。

【问题讨论】:

  • 有什么原因不像使用执行 SQL 任务更新日志表那么简单吗?您需要的有关运行的任何其他信息都可以保存在您为此目的创建的另一个表中。

标签: logging ssis count package execution


【解决方案1】:

是的,我同意我会创建一个包含运行编号和包编号的新表。包裹号将是包裹表的外键。新表类似于 PackageRunCount。在 SSIS 包内,运行 oledb 命令以根据包号将运行号加一,例如update packagecount set runnumber = (select max runnumber from PackageRunCount) + 1。然后你可以加入这个表来查看包的详细信息以及它已经运行了多少次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多