SSIS包运行时

时间:2018-05-03 21:46:07

标签: ssis

我需要创建一个名为PackageRun的表来跟踪运行我的包所需的时间。基本上它应该存储StartTime&包的EndTime并在表中创建一个名为duration的计算列。我是新手 SSIS所以任何帮助将不胜感激。我有2个变量叫做StartTime和EndTime。 StartTime的表达式为@ [System :: StartTime],EndTime的表达式为GETDATE()。

当我运行包时,我在SSMS中的表只显示列标题...甚至没有提取日期信息,更不用说任何持续时间数据了。有人可以帮忙吗?我被告知要将其创建为一个数据流任务,其中包含来自变量的派生列。

谢谢

1 个答案:

答案 0 :(得分:0)

如果不了解您所做的事情,就无法回答您的具体问题。您的描述很糟糕,或许您错过了在数据流中映射您的数据。话虽如此,我会给您一些一般性的想法,告诉您如何获得您想要的内容。有很多方法可以做到这一点,所以我会发布三个我使用的选项。

选项1。 在程序包开头使用T-SQL或存储过程(在执行SQL任务中)记录开始时间,程序包名称等,并记录结束时间,计算持续时间等。

选项2。 如果您在代理程序作业中执行该程序包,则可以在ssisdb catalog.executions表中找到此信息(此表不记录子程序包执行)

选项3。(例如,如果您正在加载数百个文件,并希望跟踪每个文件加载的持续时间)。 在数据流中执行