SSIS Error - Memory Error

I have 25 databases that I need to combine into 1 database. At first I tried to create a ssis package that would copy all the data from each table to one place, but then I got an error:

Information: the buffer manager refused to allocate memory for 10485760 bytes, but failed to replace any buffers to relieve memory pressure. 1892 buffers were reviewed, and 1892 were blocked. Either there is not enough memory available for the pipeline because there is not enough, other processes have used it, or too many buffers are blocked.

Then I realized that this is not a good idea, and that I only need to insert new records and update existing ones. After that I tried this option:

  • Get a list of all contacts. strings
  • foreach db, copy the new entries and update the existing ones (those that need to be updated, copy from the source to the temp table, delete them from the destination and copy from temp to the destination table)

enter image description here

Here, how a data flow task looks like

enter image description here

In some cases, a data stream processes more than a million rows. BUT, I still get the same error - out of memory.

In the task manager, the following situation:

enter image description hereenter image description here

I should note that 28 databases are replicated on the same server, and when this package is not running, the sql server still uses more than 1 GB of memory. I read that this is normal, but now I'm not sure that ...

SQL Server, : http://support.microsoft.com/kb/977190 ... - , , , ?

,
Ile

+5
2

, SQL Server - . ​​ 2147483647 ( ). 4 , 1100 . , . Lookup. Lookup Lookup - , - .

1:15 .

+1

, Lookup Full cache. , , Merge Join Lookup, 10 .

, Merge Join Lookup.

Merge Join Lookup SSIS?

+3

All Articles