我需要我的软件包在完成后立即再次运行。怎么做 ?我应该使用SQL Server代理吗?
我需要这样做,因为用户将无法访问SSIS,而只能访问Management Studio。
我使用了WMI Event Watcher Task来无限期寻找放置在“ Drop”文件夹中的特定文件。发生这种情况时,程序包将执行,然后我使用文件系统任务从文件所在的文件夹中将其删除到另一个“已归档”文件夹中。
最后,用户应该能够通过将相同文件拖放到触发包“ Drop”的文件夹中来重新运行包。
我的问题是我必须在完成后单击“运行程序包”。我希望sis自己做。
有可能吗?
已编辑:
添加具有EvalExpression 1 = 1的For循环容器时,以下两个Execute SQL Tasks永远不会运行。没有循环,它们只会做一次,直到最后。
答案 0 :(得分:1)
这可以使用SQL Agent进行如下设置:
步骤1:使用SSMS创建新作业:
步骤2:添加新的作业步骤以运行SSIS程序包
第3步:添加新时间表以定义作业运行的时间间隔(根据您的要求进行调整)
在这种情况下,对于每次运行,程序包中的文件监视程序步骤将等待文件删除并在文件被删除/找到后成功运行作业。
注意:请在您的非产品环境中进行测试,以确保其可以正常工作。
答案 1 :(得分:0)
我认为最简单的方法是创建另一个程序包,称之为主程序包。添加两个执行相同程序包的Execute Package Task。
有关执行包任务的更多信息,请检查以下链接: