我在同一台服务器上运行了两个不同的 SSIS包(ABC,XYZ)。我希望包XYZ仅在包ABC未运行时运行。我也希望XYZ等到ABC完成执行并且ABC完成后开始执行。
ABC每20分钟运行一次(通常在20分钟内完成,但有时需要更多),XYZ每天运行一次。
我可以在XYZ开头使用脚本任务(GetRunningPackages())完成上述任务。
还有其他方法吗?请建议上述问题导致锁定。
答案 0 :(得分:1)
您可以将ABC的开始和停止记录到表中,然后XYZ可以检查最近的行,如果有起始值但没有相应的停止值则不会启动。
我们已经取得了良好的效果,它可以很容易地扩展以支持多个包装。
答案 1 :(得分:1)
你应该查找进程间通信。 命名信号量将在这种情况下工作,因为它只允许一个当时运行。进程间通信有更多选项。