2016-07-26 167 views
0

我有一个SSIS包使用ADO NET Source组件从数据库中选择多个行并将这些记录插入到另一个表中。查询运行时间超过命令超时SSIS

此组件的默认命令超时时间为30秒,但是查询可以运行的时间比此30秒的时间长得多。运行一些测试似乎这个超时时间只是返回第一行。如果它设法做到这一点,那么如果需要,查询可以运行数千秒。

如果无法在前30秒内返回一行,那么组件的预执行部分将失败。我读的是开始执行查询和返回第一行之间的时间段。

这似乎与我可以在谷歌上找到关于此属性的任何内容相冲突。他们似乎说,命令超时时间段是完全执行查询。这不是我所看到的。

任何人都可以澄清这个命令的超时时间实际上是什么?

编辑: 链接到我正在查询的SSIS组件和属性(CommandTimeout)的屏幕截图。

Properties

Component

我的问题是不是减少了查询时间是这个30秒的超时期限内,但为什么会需要更长的时间超过30秒没有超时处决。

该软件包的1000秒运行是将17GB数据传输到服务器上的一次运行,这不是正常运行的软件包,但我只是用它来表明这个软件包明显超过了这个30秒命令超时。

+0

您能否通过 – TheGameiswar

+2

1000秒以上的属性更新您的问题超过15分钟。这太长了。我的猜测是我们需要从修复查询开始,然后调整超时。 –

回答

0

这是客户端设置,客户端用来确定查询是否没有响应。客户端然后将尝试发送命令到服务器以取消查询。

你是正确的,可用的信息有点模糊,甚至是MSDN上的内容。根据我个人的观察,我同意你的发现,即如果客户端在超时之前开始从服务器接收数据,那么只要需要它就可以运行。

我这样想。当第一行数据准备好返回时,查询本身就完成了,只有数据的移动才能完成。所以,根据定义,查询没有超时。

+0

谢谢,那是我根据我做的测试做出的假设,我只是找不到任何资源在线备份它 –

+0

http://geekswithblogs.net/SQLMonger/archive/2011/02/13/first-forayndashabout- timeout.aspx 这似乎也是说同样的事情 –