J'ai besoin de consolider les données de 30 bases de données et 20 tables. Ma première tentative a été de créer un flux de données pour chaque table. Chaque flux de données aurait 30 sources db qui prend les données de 1 table de chaque DB, puis insère dans 1 destination. Cela ne fonctionne pas car il n'y a pas assez de mémoire. J'ai essayé de filtrer les données pour ignorer les données qui ne vont pas être utilisées - cela n'a pas aidé. Ces tâches devraient fonctionner quotidiennement. Consolidation complète db est supprimé, puis de nouvelles données sont insérées, ce qui signifie que d'énormes quantités de données sont insérées quotidiennement. Quelqu'un a une suggestion de la façon de gérer le problème de la mémoire?SSIS Consolider une énorme quantité de données - suggestion
La seule solution pour l'instant je vois est de créer 20 paquets. Chaque paquet aurait 30 flux de données. Chaque flux de données prendrait les données d'une seule base de données. Mais encore une fois, je ne sais pas quel est l'ordre d'exécution? Les flux de données d'un paquet commenceront-ils à s'exécuter en même temps ou vont-ils un par un?
EDIT:
Voilà comment je l'ai fait ... voici capture d'écran du flux de contrôle:
Capture d'écran de flux de données:
J'ai créé un paquet pour une table de toutes les bases de données. Dans ce cas, chaque flux de données prend des données de 4 ans à partir d'une table et les importe dans une base de données source. Le problème est que j'ai une table dans une base de données qui a trop de données et il renvoie l'erreur:
The buffer manager failed a memory allocation call for 10484608 bytes, but was unable to swap out any buffers to relieve memory pressure. 20 buffers were considered and 20 were locked. Either not enough memory is available to the pipeline because not enough are installed, other processes were using it, or too many buffers are locked.
Des suggestions?
Exactement - la même structure et il exécute une fois tous les jours. –