我正在使用MSSQL 2012中的SSIS。它的Execute Process Task组件用于执行任何应用程序。
我想执行一个优先级较低的应用,这样就不会让所有其他进程在运行时挂起。
在cmd.exe中,我们可以使用start /low
。有没有办法在SSIS中执行它而不将应用程序执行命令包装在批处理文件中?
答案 0 :(得分:0)
使用执行流程任务,您可以在参数部分中分配使用start / low。我认为它会正常工作。你在这方面遇到任何问题吗?
这是一个link可以帮到你。
答案 1 :(得分:0)
目前SSIS没有提供任何设置来为组件设置优先级。您可以根据包的要求实现自己的机制。
MSDN解决方法:
将具有等效依赖关系的低优先级任务分组到a 序列容器。将预执行事件添加到更高的优先级 设置bool变量的任务,指示任务已启动。 添加一个while循环,告诉线程在一段时间内休眠 (5秒?),而变量是假的。制作序列容器 具有依赖于while循环完成的低优先级任务。 需要注意避免包装死锁 因为循环正在等待从未发生过的事情。
虽然不理想但它是一种改进。如果它按预期工作,你就会结束 一个线程在监视器看到时有效空闲 如果您的优先级较高的任务已经开始一旦它检查了所有 它监视序列容器的东西变得活跃了 您的低优先级任务可以开始执行。
您还可以使用脚本组件来查询系统资源。