2017-03-16 4 views
0

J'ai un package de conception SSIS dans lequel j'ai besoin d'utiliser plus de 150 jointures de fusion.J'ai divisé le paquet entier en paquets de 13 enfants. mais quand j'ai créé le paquetage maître pour appeler tout le paquet, il génère une erreur de mémoire insuffisante.Le paquetage SSIS génère une erreur: mémoire insuffisante Exception

J'ai défini une propriété de la tâche de flux de données [DefaultBufferMaxRows à 1000 à partir de 10000] et défini BLOBTempStoragePath pour chaque package, mais cela n'a pas fonctionné.

Image

Répondre

0

En 2008R2 la seule façon que je connaisse pour obtenir cela était de créer un package « wrapper » qui isole le parent de l'enfant (appeler l'emballage et passez dans le package enfant que vous voulez appeler et l'encapsuleur l'appelle dynamiquement). De cette façon SSDT ne tente pas de mettre en cache les paquets enfants jusqu'à ce qu'ils soient appelés. Cela nous a permis de gérer plus de 100 paquets enfants.

Je n'ai pas re-testé cela en 2012 mais 2012 était censé mieux gérer la mémoire dans cette situation. Si vous êtes en 2012, je soupçonne qu'ils n'ont pas résolu le problème.