为啥我在 dbo.sysssislog 表中看不到 onerror 事件
Posted
技术标签:
【中文标题】为啥我在 dbo.sysssislog 表中看不到 onerror 事件【英文标题】:why can not i see onerror event in dbo.sysssislog table为什么我在 dbo.sysssislog 表中看不到 onerror 事件 【发布时间】:2012-06-25 09:08:18 【问题描述】:我运行了一个 ssis 包,但其中一个任务出错(该任务在序列容器内)。但是当我检查 msdb sysssislog 表时,我看不到任何 那边的ONERROR事件(ONERROR)。让我知道可能是什么原因。请注意,这个包在包的ONERROR事件中有一个任务,它会在包中发生错误时运行。
ON ERROR和ON TASK FAILED
有什么区别【问题讨论】:
您在 On Error Event 中执行什么任务? 有一个执行 SQL 任务。此任务从 sysssis 日志中选择一些行并更新我的自定义表之一 在我触发此查询时出现错误后,我找不到返回的任何行 select top 1 source from msdb.dbo.sysssislog where (upper(event) = 'ONERROR') 当您为 SQL 服务器选择 SSIS 日志提供程序时,您是否检查了 OnError 事件 太棒了……这就是原因!!非常感谢 【参考方案1】:在为 SQL Server 选择 SSIS 日志提供程序时,请检查需要跟踪的事件。我认为您可能错过了检查 ONERROR 事件
【讨论】:
当我选择 ONERROR 事件时它工作正常。但是让我知道另一件事。为什么 SYSSIS 日志表的 SOURCE 列显示包名称而不是任务名称我的意思是选择源从 msdb.dbo.sysssislog where (upper(event) = 'ONERROR') 显示包的名称而不是错误任务的名称【参考方案2】:当包因任何原因(包括任务失败)出错时引发 OnError
无论包状态如何,当任务失败时都会引发 OnTaskFailed
您应该在日志中收到错误消息。可能你的配置不正确。
【讨论】:
当我选择 ONERROR 事件时它工作正常。但是让我知道另一件事。为什么 SYSSIS 日志表的 SOURCE 列显示包名称而不是任务名称我的意思是选择源从 msdb.dbo.sysssislog where (upper(event) = 'ONERROR') 显示包的名称而不是错误任务的名称 你应该有 on 任务和包的事件以上是关于为啥我在 dbo.sysssislog 表中看不到 onerror 事件的主要内容,如果未能解决你的问题,请参考以下文章