自定义日志记录到SSIS中的SQL Server表

时间:2016-03-24 13:47:23

标签: sql-server ssis sql-server-2012 ssis-2012

我有一个包含三个DataFlowTasks的SSIS包。

1st dataflow load data to destination table1
2nd dataflow load data to destination table2
3rd dataflow load data to destination table3

我错误地将日志记录配置为SQL Server表(ssiserrorlog)。 但这只有startdate和enddate细节,但我想将详细信息记录到SQL Server自定义错误日志表中,如下所示。

enter image description here

如何进行此过程我是SSIS的新手。

4 个答案:

答案 0 :(得分:1)

您可以使用每个数据流中的行计数组件来获取已加载的行数。

“持续时间”只是开始日期和结束日期之间的DateDiff。如果您不满足于在查询时计算它,您甚至可以在日志表中将其设为计算列。

答案 1 :(得分:1)

在加载到Destination之前,在每个数据流任务中使用RowCount Transformation。然后在SSISLogging表中使用此值

至于持续时间,因为你知道starttime和endtime,所以使用DateDiff函数。

答案 2 :(得分:1)

在SSIS中,您将拥有系统变量 - 开始和结束时间。使用系统变量捕获开始和结束时间

答案 3 :(得分:0)

已经建议使用RowCount和Duration的正确解决方案,但是,使用system :: starttime变量将Package或Event starttime自定义日志从SSIS传输到SQL之间存在数据类型问题。

用户必须创建一个用户变量(即user :: StartTime)并可能创建一个表达式(取决于EndTime使用的是什么)以解决问题的这个方面。

https://sqljunkieshare.com/2011/12/09/ssis-package-logging-custom-logging-2008-r2-and-2012/