即使没有错误,SSIS 事件处理程序也会向我发送消息

问题描述 投票:0回答:1

我有一个 SSIS 包并设置事件处理程序(OnError)来向我发送带有日志的消息:

“包:” + @[System::PackageName] + " " +"开始时间: " + (DT_WSTR, 40) @[System::StartTime] + " " +"用户名: " + @[系统::用户名] + " " +"机器名称: "+ @[System::MachineName] + " " +"任务名称:" + @[System::SourceName] + " " +@[系统::错误描述]

问题是,它会触发并向我发送每个组件的消息,即使它们运行成功。我什至暂时禁用了所有组件,但仍然收到了来自它的电子邮件。 我可以将所有组件放在一个大的 ForEach 组件中,但由于它需要大量内存,我不喜欢这样做。

此外,我检查了所有警告并修复了它们。 重建解决方案。 禁用/启用所有组件。

ssis eventhandler onerror
1个回答
0
投票

除非另有说明,事件处理程序会继续在链上引发事件。 “否则”设置是一个名为

Propagate
的系统变量 https://learn.microsoft.com/en-us/sql/integration-services/system-variables?view=sql-server-ver16

Propagate 布尔值 指示事件是否传播到更高级别的事件处理程序。

注意:在包验证过程中,Propagate 变量的值将被忽略。如果您在子包中将 Propagate 设置为 False,这不会阻止事件传播到父包。

现在,我已经用 SSIS 做了一点,即使在这个阶段,我不得不说我对抑制错误事件的信心仍然很低——也许我只是有一些奇怪的用例。

© www.soinside.com 2019 - 2024. All rights reserved.