3

这是我的场景 - 我有一个 SSIS 作业,它依赖于另一个之前的 SSIS 作业来运行。在开始第二个工作之前,我需要能够检查第一个工作的状态。将第二个作业添加到第一个作业的工作流程中是不可行的,因为它已经太复杂了。我希望能够从第二个作业中检查第一个作业的状态(失败、成功、当前正在执行),并将其用作决定第二个作业是否应该运行或等待重试的条件。我知道这可以通过查询运行作业的 SQL Server 上的 MSDB 数据库来完成。我想知道有没有更简单的方法,比如可能使用 WMI 数据阅读器任务?有人有过这种经历吗?

4

2 回答 2

4

您可能想要创建第三个包,运行 packageA,然后运行 ​​packageB。第三个包将只包含两个执行包任务。

http://msdn.microsoft.com/en-us/library/ms137609.aspx

@Craig 状态表是一个选项,但您必须继续监控它。

这是一篇关于 SSIS 中事件的文章,供您参考。
http://www.databasejournal.com/features/mssql/article.php/3558006

于 2008-09-02T15:36:04.727 回答
0

为什么不用桌子?只需让第一份工作用它的状态更新表格。第二个作业可以使用表来检查状态。如果我正确阅读问题,那应该可以解决问题。该表将(应该)只有一行,因此它不会影响性能并且不应该导致任何死锁(当然,现在我写了它,它会发生):)

@Jason:是的,您可以对其进行监控,或者您可以在收到最终状态时触发第二项工作。:)

于 2008-09-02T15:49:19.953 回答