如何从日志表sysssislog获取受影响的有意义的行数?

时间:2013-01-28 10:33:40

标签: sql ssis

我正在尝试从SSIS日志中获取输出到SQL Server表中,该表将显示已提交的行号。

我从这个查询得到的图片中的例子

SELECT id,
       message
FROM sysssislog
WHERE SOURCE = 'client import package'
  AND message LIKE '%rows%'

enter image description here

看起来输出并不遥远,但是我无法真正检查,因为它是OLE DB destination我到底在哪里更改此设置?

我的输出会理想地读取: 组件“数据传输报价写入7752行” 数据传输是我的任务之一......

1 个答案:

答案 0 :(得分:3)

您需要更改每个OLE DB Destination中的Data Flow Task的名称。

这是一个非常简单的包,它将文本文件导入SQL Server表。平面文件如下所示。

Flat File

SSIS包中的数据流任务配置如下。它读取文件并将文件输出传递给两个不同的OLE DB目标。注意:您可以注意到每个OLE DB目标都有适当的名称,如 All records Only 123 。这是日志表sysssislog中显示的内容。在SSIS包上启用了日志记录。

Data flow task

当我在日志记录数据库中运行以下查询时,我会注意到组件名称和每个OLE DB目标组件插入的记录数。

select  id
,       message 
from    sysssislog 
where   source = 'so_14560087' 
and     message like '%rows%'

我相信这就是你要找的东西。我假设在您的情况下,您有多个数据流任务,并且每个数据流任务中的OLE DB Destination保留默认名称OLE DB Destination。这就是您在日志表中看到相同名称的原因。您只需单击每个数据流任务中的OLE DB Destination组件,并为您提供相应的名称以检查状态。

Log table