在 SSIS 中自定义记录到 SQL 服务器 table
Custom Logging to SQL Server table in SSIS
我有一个包含三个 DataFlowTask 的 SSIS 包。
1st dataflow load data to destination table1
2nd dataflow load data to destination table2
3rd dataflow load data to destination table3
我将错误日志记录默认配置到 SQL 服务器 table (ssiserrorlog)。
但这只有开始日期和结束日期的详细信息,但我想将详细信息记录到 SQL 服务器自定义错误日志 table,如下所示。
如何执行此过程我是 SSIS 新手。
您可以在每个数据流中使用行计数组件来获取加载的行数。
"Duration" 只是开始日期和结束日期之间的 DateDiff。如果您不满足于仅在查询时计算它,您甚至可以将其设为日志中的计算列 table。
在加载到目标之前,在每个数据流任务中使用 RowCount 转换。然后在 SSISLogging Table
中使用这个值
至于持续时间,因为您知道开始时间和结束时间,所以使用 DateDiff 函数。
在 SSIS 中,您将拥有系统变量 - 开始时间和结束时间。使用系统变量捕获开始和结束时间
已建议针对 RowCount 和 Duration 的正确解决方案,但是,使用 system::starttime 变量将包或事件开始时间自定义日志从 SSIS 传输到 SQL 之间存在明显的数据类型问题。
用户必须创建一个用户变量(即 user::StartTime)并可能创建一个表达式(取决于 EndTime 使用的是什么)以解决这方面的问题。
https://sqljunkieshare.com/2011/12/09/ssis-package-logging-custom-logging-2008-r2-and-2012/
我有一个包含三个 DataFlowTask 的 SSIS 包。
1st dataflow load data to destination table1
2nd dataflow load data to destination table2
3rd dataflow load data to destination table3
我将错误日志记录默认配置到 SQL 服务器 table (ssiserrorlog)。 但这只有开始日期和结束日期的详细信息,但我想将详细信息记录到 SQL 服务器自定义错误日志 table,如下所示。
如何执行此过程我是 SSIS 新手。
您可以在每个数据流中使用行计数组件来获取加载的行数。
"Duration" 只是开始日期和结束日期之间的 DateDiff。如果您不满足于仅在查询时计算它,您甚至可以将其设为日志中的计算列 table。
在加载到目标之前,在每个数据流任务中使用 RowCount 转换。然后在 SSISLogging Table
中使用这个值至于持续时间,因为您知道开始时间和结束时间,所以使用 DateDiff 函数。
在 SSIS 中,您将拥有系统变量 - 开始时间和结束时间。使用系统变量捕获开始和结束时间
已建议针对 RowCount 和 Duration 的正确解决方案,但是,使用 system::starttime 变量将包或事件开始时间自定义日志从 SSIS 传输到 SQL 之间存在明显的数据类型问题。
用户必须创建一个用户变量(即 user::StartTime)并可能创建一个表达式(取决于 EndTime 使用的是什么)以解决这方面的问题。
https://sqljunkieshare.com/2011/12/09/ssis-package-logging-custom-logging-2008-r2-and-2012/