• That would ensure that data flows through SSIS in the order that you have specified, yes.

    But say it loads it into a target table called MyTable

    If you then select it out of the database like this:

    SELECT * FROM MyTable

    Then there is NO guarantee whatsoever of the order that it will be returned in.

    If you then select it out of the database like this:

    SELECT * FROM MyTable

    ORDER BY ID_Column

    Then it will come out in the order that you require.

    Even if you create a clustered index on ID_Column in your table there is still no guarantee that data will come out in a specific order if you do not specify an order by.

    I understand that your data has header, detail, footer rows so the 'order' is important. Are you relying on this order to perform processing in SSIS or are you relying on this to perform processing in the database?

    Basically you must save some kind of 'order' key along with the data in your table. Thats the only way to guarantee that you can return it in a certain order. The order in which the data is loaded has nothing to do with it.