获取 DFT 的开始和结束日期时间以进行记录

Get Start and End Datetime of DFT for logging purpose

在我的 ssis 包中有很多 DFT。我需要记录每个 DFT 的开始和结束日期时间以用于记录目的。

我只能处理结束日期时间 SQL 命令,但在如何处理 DFT 的开始日期时间上苦苦挣扎。我知道,我可以通过变量中的表达式收集包的开始日期时间,但不确定如何在 DFT 中进行。

我没有为 DFT 定义序列,所以我不能在控制流中进行,而只需要在 DFT 中进行。

有人可以提出一种方法吗?

此信息已在您的 ssis 日志中找到。

  1. 如果你是 运行 你的包来自 visual studio 你必须去 Progress / Execution Results 选项卡(它会在执行包后出现。

  1. 如果您 运行 您的包使用 DTExec 实用程序,您可以使用以下命令将包日志保存到文本文件:

    dtexec /f "c:\pkgOne.dtsx" /l "DTS.LogProviderTextFile;c:\log.txt"
    
  2. 如果您使用的是 .Net 应用程序,请阅读此内容Enable Logging programatically MSDN article

参考资料

您可以使用"Event Handlers"下面的任务已经添加,在您添加任务之前通常是灰色的

这将在该任务执行之前执行。或者根据下拉、after、onError等

然后您可以 运行 那里的 GETDATE 将其保存到变量中,或者直接写入审计条目。基本上做任何你 would/could 进出数据流的事情。