我有一个包含 1 个容器的包。如果该容器失败,ssis 包是否会失败?
该物业
失败时失败包
对于容器来说是 false。
这是否意味着只有当该属性设置为 TRUE 时包才会失败,否则只有容器状态失败,而包状态不是!?
是的。如果序列容器失败,则整个包也会失败。举起MaximiumAllowedErrors
序列容器的属性以获得您想要的行为。
Example
下面我们有一个示例包。序列容器有一个永远不会成功的任务。
上面,序列容器失败了,包也失败了。以下是上面容器的属性。这些是新容器的默认值。
现在让我们停下来学习一下。如果我们将包行为与属性设置进行比较,这看起来是错误的。这里我们设置了FailPackageOnFailure=False
,但序列容器故障正在导致包故障。为什么是这样?不直观的属性名称。看this https://connect.microsoft.com/SQLServer/feedback/details/381681/ssis100-failparentonfailure-failpackageonfailure-are-erroneously-regarded-to-be-always-true微软连接问题。陷入困惑的并不只有你一个人。微软官方的解释是这样的。
尽管之前有一些相当循环的信息,但我们相信
功能按设计运行。当您将 FailParentOnFailure 设置为
false,父级不会失败,直到达到
child 超出了 MaximumAllowedErrors 阈值。当你设置
FailparentOnFailure 设置为 true,父级将在第一次失败
无论 MaximumAllowedErrors 是多少,都会发生错误
临界点。
从这句话中可以得到的重要信息是FailPackageOnFailure
and MaximiumAllowedErrors
两人一起工作!!!
所以 - 知道这一点 - 我们可以通过提高MaximiumAllowedErrors
从 1 数到 2。
这将允许您拥有一个失败的序列容器,但不会使整个包失败。
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)