Ich frage mich, wie SSIS Transaktionen mit großen Datenmengen behandelt. Ich habe einen "großen" Datensatz von etwa 150.000 Zeilen, von denen jede im Rahmen einer ETL von einer Staging-Datenbank zur Live-Datenbank gegen Geschäftsregeln validiert werden muss.SSIS-Transaktionen - große Datensätze
Wenn einer der Datensätze seine Geschäftsregeln nicht erfüllt, sollten keine Datensätze in der Live-Datenbank enden (d. H. Rollback der Transaktion).
Meine Frage ist, wie SSIS große Transaktionen behandelt - oder kann es? Wird es die Eingabe von 149.999 Datensätzen behandeln und dann die gesamte Menge zurückrollen, wenn der letzte Datensatz seine Regeln nicht erfüllt? Oder gibt es eine bessere Best Practice für die Durchführung dieser Art von großen Datenübertragungsvorgang?
Mein derzeitiger Gedanke ist, jeden Datensatz innerhalb eines Sequenzcontainers auf der Ebene des Kontrollflusses zu verarbeiten, wobei die Transkationseinstellungen für den Container aktiviert sind. Alle Validierungen werden innerhalb des Sequenzcontainers durchgeführt, und die Einfügung erfolgt ebenfalls in diesem Container.