How does SSIS store and access a SQL result set ?

  • My code stores a huge result set. It processes this result set and then loads it to the target. Lets not discuss about the efficiency of this technique now.

    I need to know if the result set is stored fully or partly in RAM. If it is full, then I might have problems when the result set is very big. Otherwise, I don't think there will be a problem.

    Also, does a result set remain in memory even after it is filled into a datatable ? If yes, then I will also have to deallocate this memory.

  • Depends on the code. But if you're using, for example, a data adaptor, that's using up RAM for sure.

    If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.

  • I seem to remember having a similar question myself a while back, which broke down as follows:

    If the data set it too large to fit in the RAM that SSIS is using, it pages it out to the location specified in the BufferTempStoragePath variable.

    This is usually the %temp% Windows envrionment variable unless set explicity in the package configuration.

    Try setting this property in the package and then monitoring the path to see if any files are created there during package execution. that should tell you if all your data is in RAM or being paged out.

    See the following for further opinion:

    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f5d6c64a-c275-401e-93e6-2abfd936e7a1/buffertempstoragepath-global-setting?forum=sqlintegrationservices

    http://stackoverflow.com/questions/8858463/what-is-the-default-file-path-location-for-buffertempstoragepath-in-ssis-2005

    [font="Courier New"]sqlmunkee[/font]
    [font="Courier New"]Bringing joy and happiness via SQL Server since 1998[/font]

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply