2012-02-27 36 views
3

正如問題所暗示的那樣,我正盯着一個具有多個控制流元素的轉換,其中很多都是數據流。控制流中的黃色 - 數據流中沒有顏色;這是怎麼回事?

當前,控制流選項卡內的其中一個數據流對象呈黃色亮起。當我通過雙擊或選擇「數據流」選項卡打開該數據流對象時,沒有任何顏色的框亮起。

這會讓我相信它正在驗證,也許呢?

有什麼方法可以說明它在做什麼,並且有任何步驟可以幫助使此過程更快?

**編輯:

我接過一看執行,它看起來像它停留在預先執行50%左右的階段。這個階段是否有任何優化?

未運行的數據流的屏幕截圖。 (這是拍攝而控制流顯示了這個數據流任務爲黃色)

enter image description here

+0

你的數據流在做什麼?你有沒有在你的包裹中查找?如果是這樣,那麼這個軟件包很可能正在緩存數據。多少數據? *所有*數據,所以如果你僅僅從表中選擇一個表名作爲查找或者等價的'SELECT *',所有的數據在它開始處理之前必須通過網絡流到SSIS引擎。如果您確實想知道,請打開包裝中的日誌記錄。 – billinkc 2012-02-28 00:00:46

+0

看起來它卡在預執行階段。在這個階段執行哪些類型的任務?我會嘗試添加一些日誌記錄,並可能會嘗試縮小該問題的範圍。 – NickHeidke 2012-02-28 15:23:14

+0

你有機會彈出數據流的樣子嗎?瞭解DF應該做什麼會有所幫助。 – billinkc 2012-02-28 18:45:46

回答

1

我把這些塊分成了自己的DF。其中一個DF繼續陷在Pre-Execute階段。我運行了該OLE DB Source的查詢,並發現由於某些刪除的索引而導致查詢長時間運行。替換了索引,變換停止了。

1

當你進入你的包的配置屬性,然後選擇「調試特性」是將其設置爲「優化」運行模式?如果是這樣,它會是黃色的,然後在完成時變成綠色/紅色。您需要確保'運行優化'關閉,'交互模式'爲真。

+0

一個好主意,但「RunInOptomizedMode」都設置爲False,並且「InteractiveMode」設置爲True。 – NickHeidke 2012-02-27 22:24:34

+0

它變成綠色/紅色還是掛成黃色? – 2012-02-27 23:03:53

+0

它掛着黃色。我編輯了這個問題,看起來好像掛在Pre-Execute階段。 – NickHeidke 2012-02-28 15:22:04

1

如果您正在尋找的是爲了識別爲什麼它是黃色的,請查看錯誤列表窗口並單擊警告,以便在需要時使它們可見。這至少應該確認它是否僅僅是驗證或其他。

1

剛剛在SSIS包中的數據流有類似的問題。無論需要傳輸多少行,在複製所有行之後,任務仍爲黃色,並且目標表中沒有數據(MS SQL Server 2012)。我可以通過刪除目標表來解決問題,並再次發出CREATE TABLE/CREATE INDEX。

1

另一個可能的解決方案(對於像我這樣的將來遇到這個問題的人)是確保組件不使用內部事務。

今天早上我發生了這種情況(數據流中的所有任務都呈綠色,但在控制流上顯示爲黃色),並執行了批量更新。我使用的組件有一個複選框來打開內部事務,該事務在允許數據流完成之前等待來自SQL Server的響應。

尋找一個複選框來關閉內部事務或表鎖,然後重新運行。