从多个同时执行中锁定 SSIS 包

Lock an SSIS package from multiple simultaneous executions

我有一个部署到 SSISDB 的 SSIS 包(Package1.dtsx)。目前我在 sql 服务器代理中使用一些参数安排了包。

如果有人试图在另一个 sql 使用不同参数的服务器代理作业中尝试 运行 它,我该如何锁定包 (Package1.dtsx)。

无法锁定一个包以防止它被多次执行。把它想象成一个文件。无法锁定有权使用文件的用户。

您可以在 SQL 服务器上创建用户 groups/roles 以根据您的 needs/usage 因素隔离执行。对我来说,没有直接的方法来锁定文件以防止多次执行。抱歉!

您可以通过添加一个标志并让您的包在处理之前检查该标志来自己完成此操作。退出,循环直到标志被清除或其他一些逻辑。

我个人每个包只有一个代理,代理处理多个执行场景。