3

我正在尝试创建一个 SSIS 包,其中某个容器中的故障会导致该容器(并且只有该容器)的数据流回滚。这个包冻结,只有当我停止运行它或者我通过管理工作室终止进程时才会终止。

我还不能发布图片,所以我会给出一个简短的描述。

我有两个容器。第一个有:

  1. 包含从平面文件中选择到两个表中的数据流,我将其称为 t_imp 和 h_imp。
  2. 接下来是这两个表中字段 ObjCde 的更新任务。
  3. 容器中的最后一个数据流使用 t_imp 作为源,进一步操作和移动数据到其他表。

第三项是出错的地方。我已经看到 t_imp 表被锁定了。

包的事务选项是支持的,第一个容器是必需的,第二个容器是不支持的。(第二个容器包含流程任务和一个不应回滚的数据流任务。)所有隔离级别都在 ReadCommitted。

我在这里想念什么?

我是否不允许在同一个容器中使用表作为源和目标?

我需要设置其他参数吗?

4

1 回答 1

1

您通过读取/插入同一张表来阻止自己。冻结的不是 SSIS 包,而是 SQL Server 锁定表不允许事务继续。

于 2013-05-28T13:56:31.153 回答