Da quello che ho letto:SSIS - Destinazione OLE DB - tabella o Vista carico vs Fast-carico
tabella o Vista modalità di accesso ai dati si impegna ogni riga alla volta come una transazione. Quindi, fare un pacchetto di trasferimento di 5 milioni di righe richiede molto tempo (più di 30 minuti).
modalità di accesso ai dati veloce-carico permette di specificare le righe in batch e la dimensione commit durante l'inserimento di destinazione. Ad esempio, l'inserimento di 5 milioni di record richiederebbe poco più di 2 minuti.
Ora si pone la questione in cui uno dei pacchetti SSIS che carica al DW utilizza modalità di accesso ai dati tabella o vista nella destinazione OLE DB. Dalla mia comprensione, questo è al fine di raccogliere le righe di errore che inserisce (vincolo di errore) in una tabella di record di errore. Quindi, abbiamo un processo che richiede oltre 30 minuti. A sua volta, Fast-Load richiederebbe meno di 2 minuti per la stessa azione.
Se comprendo correttamente, fast-carico sarebbe in grado di distinguere quale riga causato l'errore nel batch che a sua volta fallisce completamente i lotti? In tal caso, esiste un metodo alternativo a questa situazione in cui il batch con la riga di errore viene reindirizzato dal vincolo dell'errore e quindi elaborato nella destinazione in un modo in cui i record validi nel batch vengono inviati alla destinazione corretta durante l'invio del registrazione degli errori nella tabella dei log degli errori? È una buona idea anche farlo? È meglio mordere il tipo di pallottola per quanto riguarda la quantità di tempo necessario?
Grazie in anticipo.
mi chiedo perché non fai un commit di X file, e se ci sono errori, non falliscono la componente, ma semplicemente reindirizzare le righe di errore direttamente al file flat? - Vedi la risposta di El.HAM – codeputer
@codeputer Non sto fallendo il componente. Abbiamo la stessa risposta, solo termini diversi. L'idea è che tu tenti di impegnarti in una dimensione grande (efficiente) e poi riduci a segmenti più piccoli. Il motivo per ridurre i batch in errore è che ci sono ancora alcune buone file e non vuoi buttarle fuori. La direzione in cui le righe (file flat, tabella, ecc.) Si basano sull'architettura del tuo ETL – billinkc
comprendo le buone righe, ma se le righe che non sono riuscite sono state reindirizzate, il batch non avrebbe avuto successo senza le righe che sono state reindirizzate ? – codeputer