Je me demande comment SSIS gère les transactions avec de grands ensembles de données. J'ai un «grand» jeu de données d'environ 150 000 lignes, dont chacune doit être validée par rapport aux règles métier dans le cadre d'un ETL d'une base de données intermédiaire à la base de données active.Transactions SSIS - Grands ensembles d'enregistrements
Si l'un des enregistrements échoue à ses règles métier, aucun enregistrement ne doit se retrouver dans la base de données active (c'est-à-dire annuler la transaction).
Ma question est de savoir comment SSIS gère les grandes transactions - ou peut-il? Sera-t-il capable de saisir 149 999 enregistrements, puis de renvoyer le lot entier si le dernier enregistrement échoue à ses règles sans aucun code? 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 transcodage 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. SSIS peut gérer les transactions raisonnablement bien.