SSIS - 登录SYSSSISLOG以外的表

Gre*_*reg 6 sql-server ssis

SSIS似乎坚持要记录到系统表SYSSSISLOG.有没有办法让它使用不同的表?

我希望每个包都登录到不同的表.

Wil*_*man 5

快速回答与John Sansom的回答相同:使用日志记录时,它会创建一个表和一个存储过程(名称因2005到2008之间的版本而异)存储过程可以修改为执行任何操作.如果存储的proc被删除,Sql server会重新创建它,但如果存储的proc存在,那么Sql server会认为它没有问题并且不管它.这允许您修改存储的proc以写入您想要的任何表/表.


Den*_*eev 2

好吧,你可以用这样的东西查询那个巨大的日志表:

--first, we identify the packages
;with DetectedPackages as (
select source, s.executionid
from dbo.sysssislog as s
where event = 'PackageStart'
group by source, s.executionid
)
--then we use those executionids to display results
select * from dbo.sysssislog as s
join DetectedPackages dp on s.executionid = dp.executionid
where dp.source = 'PackageName'
Run Code Online (Sandbox Code Playgroud)

如果您想将每个包封装在视图中,现在您知道该怎么做了。