2016-07-26 166 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 這似乎也是說同樣的事情 –