SSIS错误无法执行事务操作,因为有挂起的请求正在处理此事务

SSIS错误无法执行事务操作,因为有挂起的请求正在处理此事务,ssis,transactions,parallel-processing,rollback,Ssis,Transactions,Parallel Processing,Rollback,执行ssis包时,我收到以下错误:“无法执行事务操作,因为有挂起的请求正在处理此事务。” ssis包有4个并行运行的执行sql任务。 连接是ADO.Net execute sql任务调用具有事务、回滚和提交的过程, 执行1或2时,执行sql任务失败,其余任务成功 此外,在任何sql任务失败时,其他执行sql任务的数据也会回滚 我希望这些执行sql任务彼此独立运行。应仅为具有并行运行任务的所有记录的任务回滚数据。您可能遇到需要消除的死锁。您可以通过进入sql server management s

执行ssis包时,我收到以下错误:
“无法执行事务操作,因为有挂起的请求正在处理此事务。”

ssis包有4个并行运行的执行sql任务。 连接是ADO.Net

execute sql任务调用具有事务、回滚和提交的过程, 执行1或2时,执行sql任务失败,其余任务成功

此外,在任何sql任务失败时,其他执行sql任务的数据也会回滚


我希望这些执行sql任务彼此独立运行。应仅为具有并行运行任务的所有记录的任务回滚数据。

您可能遇到需要消除的死锁。您可以通过进入sql server management studio并运行以下命令来看到这一点:

SELECT * FROM SYSPROCESSES where blocked > 0
然后,如果这样做是安全的,则按进程ID终止进程,例如

杀死99

如果这是每晚ETL进程的一部分,您可能需要考虑在SQL代理中创建4个不同的作业步骤,并在夜间执行不同的作业步骤。这可能会绕过你面临的问题


否则,如果执行SQL任务需要在同一个包中运行,则需要检查它们的运行顺序。e、 g.先运行第一个执行sql任务,然后再运行下一个任务-例如,在控制流中添加一个序列容器,以确保第一个执行sql任务在下一个任务运行之前完成。

听起来您的sql语句发生了冲突。包设置为什么隔离级别?隔离级别可序列化,并且支持事务选项