查询 "SSISDB.catalog.start_execution;1" 的进程被暂停

Process with query "SSISDB.catalog.start_execution;1" getting suspended

我们有一个父包,它正在按顺序执行其他一些包。 每次当我们 运行 执行父包的作业时。其中一个儿童套餐需要很多时间,例如 4 小时或 5 小时。它是随机的。不是每次都针对同一个包裹。

当我使用 sp_who2 检查时,有一个进程被挂起,该进程的查询是:

SSISDB.catalog.start_execution;1

然后无论执行的下一个任务是什么,该任务的查询过程也被挂起。

我们的 SSISDB 保留 window 只有 7 天,数据库的大小也只有 9000MB。但仍然是为什么这个过程以挂起模式进行。据我所知。

有人遇到过这种问题吗?有什么解决办法吗?或者是否有任何我可以检查的设置?

我在 SQL 2016 SP1 上遇到了完全相同的问题。软件包(使用 VS2015 Upd 3 构建,目标是 SQL 2016)直到上周 运行 还不错,现在需要几个小时,运行domness 需要很长时间。服务器、程序包或数据库没有其他重大更改,因为它通常用于 运行。

更新 - 最终成为查找组件问题。查看目录执行标准报告中的 "All messages"。一些重复的查找键已悄悄进入数据源......并且查找一次又一次地失败。有这样的消息 -

'缓冲区管理器未能调用 5570320 字节的内存分配,但无法换出任何缓冲区以缓解内存压力。考虑了 88 个缓冲区并锁定了 72 个。管道可用的内存不足,因为安装的内存不足,其他进程正在使用它,或者太多缓冲区被锁定。'

'缓冲区管理器在 [Y] 个物理缓冲区中分配了 [X] 兆字节'

执行报告有 500 页长,主要是这些消息在 X 和 Y 值逐渐增加的循环中一遍又一遍地重复。 HTH