Je me demande comment SSIS traite les transactions avec de grands ensembles de données. J'ai un "grand" ensemble de données d'environ 150 000 lignes, dont chacune doit être validée par rapport à des règles de gestion dans le cadre d'un ETL d'une base de données de transit vers la base de données active.
Si l'un des enregistrements ne respecte pas les règles de gestion, aucun enregistrement ne doit se retrouver dans la base de données active (c'est-à-dire que la transaction doit être annulée).
Ma question est de savoir comment SSIS gère les transactions importantes - ou le peut-il ? Peut-il gérer la saisie de 149 999 enregistrements, puis revenir en arrière si le dernier enregistrement ne satisfait pas aux règles d'absence de busiless ? Ou existe-t-il une meilleure pratique pour effectuer ce type d'opération de transfert de données volumineuses ?
Mon idée actuelle est de traiter chaque enregistrement dans un conteneur de séquence au niveau du flux de contrôle, avec les paramètres de transcation activés sur le conteneur. Toutes les validations seront effectuées dans le conteneur de séquence, et l'insertion sera également effectuée dans ce conteneur.