解决问题的任何简单方法,你有一个组件,并且由于组件嵌套在其他组件(例如容器和数据流)中而多次获得相同的日志按摩
我找到了this,MS说它不会做任何事情,但它从2007年开始。 我真的不想做建议的解决方法,似乎做了很多工作。
答案 0 :(得分:3)
对于日志记录,如果您选择登录到sql server,SSIS将创建一个Stored Proc (SQL 2005)
Proc名称:dbo.sp_dts_addlogentry
表名:dbo.sysdtslog90(用户表)
(SQL 2008)
Proc名称:dbo.sp_ssis_addlogentry
表名:dbo.sysssislog(系统表)
您可以自由修改此选项以过滤掉日志条目(如果缺少sql将重新创建它,但不会覆盖同名的自写版本。)
系统生成的版本只是插入SSIS发送给proc的参数。
您可以添加逻辑来跟随executionid链接以查找父对象并禁止记录已记录的条目(您将需要在代码中处理OnError事件名称)我通常传递OnPreExecute,OnPostExecute ,OnError和OnTaskFailed事件进入我的日志记录过程。默认情况下,proc还会获取PackageStart和PackageEnd事件。
话虽这么说,我让所有这些日志完全记录到sql中的表,然后使用摘要和详细报告来检查日志记录并查看错误。我的报告过滤器只显示每次出现的一个错误,而不是过滤输入到日志文件中。我还将所有SSIS包记录到一个数据库中,以便进行每个SSIS包中包含的配置和日志记录。