2014-11-05 100 views
0

我有一個數據流任務,它使用OLE源並將數據流入OLE目標。這兩項任務之間沒有查找或其他處理。SSIS在預執行時掛起-50%完整的sql命令

當我告訴源使用一個表源時查詢工作正常,但由於源表上的鎖定,速度非常慢。

當我使用下面的查詢爲「SQL命令」的SSIS執行掛起,在「進步:預執行 - 50%的完整的SQL命令」

SET TRANSACTION ISOLATION LEVEL SNAPSHOT 

SELECT [col1],[col2] 
from [SourceSystemView] 

到目前爲止,我曾嘗試:

  • 兩個任務和連接
  • 從查詢中刪除SET TRANSACTION ISOLATION LEVEL SNAPSHOT啓用延遲確認

通過ssms對源系統執行文本查詢可以正常工作。

將前100個子句添加到查詢中也會使其正常運行,但完整查詢仍未能超​​過預執行。源視圖大約有2,500,000行,所以我不認爲這是ssis無法應付的任何事情。

回答

1

正當我要發佈此,我發現(我是不耐煩!)

的查詢需要很長時間才能返回任何數據行,所以它實際上似乎已經掛在「預問題-execute「,實際上它已經將查詢發送到源系統,並且正在等待數據被返回。一旦數據回來,它突然將自己標記爲正在執行,並正在將源任務正確顯示爲正在執行。