我有一个非常简单的数据流任务,从FF读取数据并将数据插入表中。同时我想写一个Audit表,插入了多少行,创建了日期......
我怎样才能轻松完成?
答案 0 :(得分:9)
如果您只对成功处理的行数或遇到错误的行数感兴趣,那么您可以使用内置的SSIS logging
功能。请检查下面提到的步骤。我希望这个例子能给你一个想法。我在日志表中只显示了两列,但还有其他有用的字段,如starttime,endtime等。该示例是在 SSIS 2008 R2
点击SSIS package
。
在菜单上,选择SSIS --> Logging...
在“配置 SSIS日志:”对话框中,选择提供程序类型,然后单击“添加”。我为此示例选择了SQL Server。选中“名称”复选框,并在“配置”列下提供数据源。这里SQLServer是连接管理器的名称。 SSIS 2008
或SSIS 2008 R2
会在您选择的数据库中创建名为 dbo.sysssislog 的表格和存储过程 dbo.sp_ssis_addlogentry 。请参阅下面的屏幕截图#1 。 SSIS 2005
中的表格名称为 dbo.sysdtslog90 ,存储过程名称为 dbo.sp_dts_addlogentry
如果您需要处理的行,请选中OnInformation复选框。在示例中,包已成功执行,因此在OnInformation下找到了日志记录。您可能需要根据您的要求微调此事件选择。请参阅下面的屏幕截图#2 。
以下是数据流任务中的示例包执行。请参阅下面的屏幕截图#3 。
以下是日志表dbo.sysssislog的示例输出。我只显示了列 id 和消息。表中还有许多其他列。在查询中,我仅针对名为“ Package1 ”的包和事件“ OnInformation ”过滤输出。您可以注意到具有ID 7,14和15的记录包含已处理的行。请参阅下面的屏幕截图#4 。
希望有所帮助。
屏幕截图#1 :
屏幕截图#2 :
屏幕截图#3 :
屏幕截图#4 :
答案 1 :(得分:0)
您可以多播平面文件,或在您插入数据的表上使用触发器。如果是正在审核的表格,那么无论何时插入任何数据,您都可能想知道。