2

由于组件嵌套在其他组件内(例如容器和数据流),因此您拥有一个组件并多次获得相同的日志消息的任何解决问题的简单方法

在此处输入图像描述

我发现了这个,MS 说它不会对此做任何事情,但它是从 2007 年开始的。我真的不想做建议的解决方法,似乎需要做很多工作。

4

1 回答 1

3

对于日志记录,如果您选择登录到 sql server,SSIS 将创建一个存储过程 (SQL 2005)

过程名称:dbo.sp_dts_addlogentry

表名:dbo.sysdtslog90(用户表)

(SQL 2008)

过程名称:dbo.sp_ssis_addlogentry

表名:dbo.sysssislog(系统表)

您可以随意修改它以过滤掉日志条目(如果丢失,sql 将重新创建它,但不会覆盖同名的自写版本。)

系统生成的版本只是SSIS发送到proc的参数的插入。

您可以添加逻辑以跟踪 executionid 的链以查找父对象并禁止记录已记录的条目(您将需要在代码中处理 OnError 事件名称)我通常传递 OnPreExecute、OnPostExecute、OnError、和 OnTaskFailed 事件进入我的日志记录过程。默认情况下,proc 还获取 PackageStart 和 PackageEnd 事件。

话虽如此,我让所有这些都完全记录到 sql 中的表中,然后使用摘要和详细报告来检查日志记录并查看错误。我的报告过滤器只显示每次出现的一个错误,而不是过滤日志文件的输入。我还将我的所有 SSIS 包记录到单个数据库中,用于每个 SSIS 包中包含的配置和日志记录。

于 2012-12-28T19:49:22.810 回答