我有一个SSIS包,将数据导入sql Server 2008数据库.我已经在sql Server代理中设置了调度作业来运行该包.当我查看历史记录时,我只能看到作业是否成功运行.我看不到其他消息.
我想知道执行作业时有多少条记录被导入.如何监控?我应该在SSIS包中使用附加组件还是在sql Server代理作业设置中设置一些配置?
解决方法
如果您只是想知道正在处理的列并且不感兴趣的信息进一步使用,一个可能的选择是利用SSIS日志记录功能.以下是数据流任务的工作原理.
>点击SSIS包.
>在菜单上,选择SSIS – >日志记录…
>在“配置SSIS日志:”对话框中,选择提供者类型,然后单击“添加”.我为这个例子选择了sql Server.选中“名称”复选框,并在“配置”列下提供数据源.这里sqlServer是连接管理器的名称. SSIS将在您选择的数据库中创建一个名为dbo.sysssislog和存储过程dbo.sp_ssis_addlogentry的表.请参阅下面的截图#1.
>如果您需要处理行,请选中复选框信息.在此示例中,程序包成功执行,因此在OnInformation下找到日志记录.您可能需要根据您的需求微调此事件选择.请参阅下面的截图#2.
>这是数据流任务中的一个示例包执行.请参阅下面的截图#3.
>以下是日志表dbo.sysssislog的示例输出.我只显示列ID和消息.表中还有许多其他列.在查询中,我只为名为“Package1”的包和事件“OnInformation”过滤输出.您可以注意到带有ids 7,14和15的记录包含处理的行.参见下面的截图#4.
希望有帮助.
截图#1:
截图2:
截图#3:
截图4: