2016-12-01 44 views
2

许多SSIS包已经部署到SSI目录并且通过SQL代理作业进行调度。 在SSRS服务器上,我创建了一个报告,让我深入了解在SSIS服务器上运行的所有SSIS包的执行情况。 我已经创建了一份工作(发送给我的报告),在执行时向我发送此报告。 我知道如何创建启动此SQL代理作业的jobtep。 我将这个jobstep添加到所有执行SSIS包的作业。在完成SSIS作业时触发SSRS报告

但是,我不是唯一一个调度软件包,也不是所有的同事都添加这个jobtep。这些工作安排和创建不规则。因此,每天发送报告将是无稽之谈,因为有时候这些工作不会运行一个月。其他时间,每天执行5个工作。

当SSIS包完成运行时,是否有办法触发作业'发送报告'?不管它是如何开始的?不管结果如何?

回答

2

创建驱动订阅到执行存储过程的报表的数据是检查是否有任何工作被执行

+0

我从事这个想法,并扩大它的日子(可能是前一天或24小时运行,等等)有一点:我创建了一个包含日期时间列[LastSent]的表。 proc检查表是否存在日期。如果是这样,它使用该日期来检查在该日期之后具有end_time的任何执行。如果[LastSent]为空,它会检查任何执行的结束时间大于开始时间。 – Henrov

+0

然后用max(end_time)+ 1 ms填充[LastCheck]。这样我可以很容易地改变这个过程运行的时间表:) – Henrov