2016-07-30 42 views
0

軟件包內置軟件包部署模型(SSIS 2008),它將數據從本地數據庫並行導出到本地CSV文件。SSIS 2012軟件包隨機掛起

我已經將它轉換爲Project deployment Model,現在存在相同的並行性,但通過執行包任務(通過執行進程任務)調用子包(使用26個線程),使用Execute-Out-of - 使用資源的流程

子包從15K客戶中挑選一個隨機客戶,並將其相關數據從視圖導出到CSV文件。

<> 客戶被放置在一個表中,所有的線程讀取表和互斥使用TABLOCKX塗在其上,取線程首先得到寫訪問將回升客戶,並修改將狀態加載到「進度」。等待寫訪問的其他線程將遵循相同的過程。

在每個線程的過程重複使用「for循環」容器

對於576個執行其出口又好又快但意外的是在隨機客戶的第576執行掛斷幾分鐘的所有客戶。我試圖重複它幾次,並在同一點掛起。

您對此的幫助非常感謝!

PS:這個問題是不存在在我的包

+0

你能解釋一下SSIS任務,SQL查詢和表達式是如何挑選隨機客戶的。例如,它是一個帶有SQL Task的循環容器嗎? –

+0

想象一下,您正試圖解決這個問題,提供的信息是否足夠? – TheGameiswar

+0

您是否監視與SQL Server的現有連接?你是否乾淨地關閉每個CSV文件? –

回答

0

的早期版本有一個在2012 SSIS由於其遷移我的包掛起的錯誤。

一次執行多個子程序包時,SSIS程序包會在內部目錄表中創建死鎖。所以應該避免使用多個並行線程運行子包。如果需要,用幾毫秒的延時(> 100 ms)運行它們。

添加延遲解決了問題。希望這個錯誤能夠通過微軟在SSIS的更高版本中得到解決