SSIS 2012包随机挂起

时间:2016-07-30 12:36:30

标签: sql sql-server ssis ssis-2012

最初包是在包部署模型(SSIS 2008)中,它从本地数据库并行地将数据导出到本地CSV文件。

我已将其转换为项目部署模型,现在存在相同的并行性,但通过执行包任务(之前通过执行流程任务)使用执行 - 调用 - 调用子包(使用26个线程) of-Process以便利用资源

子套餐从15K客户中挑选一名随机客户,并将其相关数据从视图导出到CSV文件。

<> 客户被放置在一个表中,所有线程都读取表,并使用TABLOCKX在其上应用互斥锁,无论哪个线程首先获取写访问权限,都会接收客户并将负载状态修改为' Progress&# 39 ;.等待写访问的其他线程将遵循相同的过程。

使用" Forloop"对所有客户重复每个线程中的过程。容器

对于576次执行,它的出口很好并且很快,但令人惊讶的是它在第576次随机客户的执行中挂了几分钟。我试过多次重复它并且它在同一时刻挂断了。

非常感谢您对此的帮助!

PS:我的软件包的早期版本中没有问题

1 个答案:

答案 0 :(得分:0)

SSIS 2012中存在一个错误,因为我的迁移程序包挂起。

在一次执行时包含多个子包的SSIS包会在内部Catalog表中创建死锁。因此应该避免运行具有多个并行线程的子包。如果需要,以几毫秒的延迟(> 100毫秒)运行它们。

添加延迟解决了问题。希望Microsoft在更高版本的SSIS

中解决此错误