【问题标题】:Table Difference component failed with 'System.OutOfMemoryException'表差异组件因“System.OutOfMemoryException”而失败
【发布时间】:2016-11-13 06:29:26
【问题描述】:

我有一个从 SQL 服务器源加载数据的包。提取记录后,它将使用“表差异组件”确定源和目标之间的差异。

这是一个日常运行包。大多数情况下这会运行良好,但有时包会失败并给出以下错误消息:

来源:DFT_STG_APR_Activity_Aud_Members 表差 [215]
说明:System.OutOfMemoryException:类型异常 'System.OutOfMemoryException' 被抛出。在 Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.get_Item(Int32 列索引)在 CozyRoc.SqlServer.SSIS.TableDifference.InputInformation.AddRow(PipelineBuffer 缓冲区)在 CozyRoc.SqlServer.SSIS.TableDifference.ProcessInput(Int32 inputID, PipelineBuffer 缓冲区)在 Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 包装器,Int32 inputID,IDTSBuffer100 pDTSBuffer,IntPtr bufferWirePacket)结束错误错误:2016-08-22 00:21:32.78 代码: 0xC0047022 来源:DFT_STG_APR_Activity_Aud_Members SSIS.Pipeline 说明:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。这 组件“表差异”(215)上的 ProcessInput 方法失败 处理输入“新数据流”(231) 时出现错误代码 0x8007000E。 已识别的组件从 ProcessInput 返回了一个错误 方法。该错误是特定于组件的,但该错误是致命的 并将导致数据流任务停止运行。

但是当我重新运行包时它运行良好。任何人都可以帮我解决这个问题吗?

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    当没有足够的内存继续执行程序时会抛出此异常。尝试最小化加载到内存中的数据。

    阅读更多Topic 有很多建议

    【讨论】:

    • 但是当我重新运行包时成功完成。为什么会这样?...而且我每天都没有遇到这种失败。
    • 一周内只有一次或两次失败,在重新运行成功完成后也会失败
    • 这取决于你的记忆状态。当抛出异常时,您的内存已满。也许其他进程正在使内存过载。在开始操作之前尝试添加一段代码释放Sql server使用的内存
    猜你喜欢
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 2020-05-09
    • 2017-07-05
    • 2020-11-14
    • 2018-03-12
    • 2014-07-29
    • 1970-01-01
    相关资源
    最近更新 更多