2016-11-13 68 views
1

我有一個從SQL服務器源加載數據的包。提取記錄後,它將使用'table difference component'來確定源和目標之間的差異。表差異組件失敗,出現'System.OutOfMemoryException'

這是一個每日運行的軟件包。大多數的日子這將運行良好,但有些日子包失敗,並給出以下錯誤消息:

Source: DFT_STG_APR_Activity_Aud_Members Table Difference [215]
Description: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.get_Item(Int32 columnIndex) at CozyRoc.SqlServer.SSIS.TableDifference.InputInformation.AddRow(PipelineBuffer buffer) at CozyRoc.SqlServer.SSIS.TableDifference.ProcessInput(Int32 inputID, PipelineBuffer buffer) at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket) End Error Error: 2016-08-22 00:21:32.78 Code: 0xC0047022 Source: DFT_STG_APR_Activity_Aud_Members SSIS.Pipeline Description: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Table Difference" (215) failed with error code 0x8007000E while processing input "New Data Flow" (231). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.

但是,當我重新運行包運行良好。任何機構能幫助我嗎?當沒有足夠的內存來繼續執行程序的執行

enter image description here

回答

0

,拋出此異常。嘗試最小化加載到內存中的數據。

更多在這Topic有很多建議

+0

但當我reran包成功完成。爲什麼這樣?...而且我每天都沒有得到這個失敗。 –

+0

只有一個或一週內沒有這樣的事情,而且在重新運行完成後它也成功完成 –

+0

這取決於你的記憶狀態。當引發異常時,你的內存已滿。也許其他進程正在超載內存。嘗試添加一個代碼,在開始操作之前釋放Sql服務器使用的內存 – Hadi

相關問題