我有一个包含三个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自定义错误日志表中,如下所示。
如何进行此过程我是SSIS的新手。
答案 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/