我是SSIS包的新手,我正在尝试从自定义脚本中进行日志记录。我们已经从包中记录了本机消息,但我想将自己的自定义日志消息添加到它。我在Microsoft.SqlServer.Dts.Pipeline.ScriptComponent
类上看到有一个Log方法,但我不确定要用于dataCode
和dataBytes
参数,所以我使用了0和一个空数组,但这没有记录任何东西。
那么如何从我的脚本中获取日志记录呢? 是否有任何关于启用它的配置?
由于
注意:我正在使用SqlServer 2008 SP2(而不是R2)
答案 0 :(得分:1)
您需要确保已启用日志记录任务。选择SSIS>从BIDS菜单中记录....选择数据流任务。在“提供程序和日志”选项卡上,确保选中了日志提供程序。选择Details选项卡并检查ScriptComponentLogEntry事件。请注意,此事件不是从Package设置继承的;所以你必须选择数据流任务。现在应该捕获您的日志记录。
您可能还对记录信息事件的ComponentMetaData.FireInformation
方法感兴趣。以下是有关FireInformation及相关方法的更多信息。您可能会发现这些更容易配置,因为相关事件(OnInformation for FireInformation)是从包设置继承的。换句话说,如果在包级别设置OnInformation事件的日志记录,则所有任务都将记录OnInformation事件。