我有一个SQL作业代理,它有两个作业步骤:PackageA和PackageB。 PackageB遵循PackageA,但PackageB不应该在06:00和18:00之间运行。 不幸的是,PackageA有时需要很长时间才会导致PackageB在6:00至18:00之间运行。 在PackageB中,我有一个约束+表达式来检查时间是否在06:00到18:00之间。如果是这样,PackageB会很好地退出,并向操作员发送一封电子邮件,提醒他/她重新安排PackageB。 但是,如果我可以重新安排软件包,事情会更好。从SSIS包内安排单个包
逻辑在PackageB:
ExpressionTask --> fills variable @Hour with datepart("Hh",GETDATE())
如果发现值是在执行< 6或> 18的“正常”过程或它启动一个“发送电子邮件”和退出。 我想在发送电子邮件后添加一个命令,该电子邮件将安排PackageB在当天晚上19:00运行一次。理想情况下,该过程将检查是否有工作只是运行packageB并安排在19:00晚上运行一次,如果没有运行PackageB的 作业,则应创建它。
我的感觉说这应该可以使用TSQL来实现。除了使用TSQL之外,还有其他更好的方法吗?
感谢Thanx!
非常好的主意,会测试那个星期一 – Henrov