• How about moving the data into a temporary table without an identity column. Adding records to the temporary table, such that there are no gaps in the identities, and the placeholder records are readily identifiable.

    At this point, it will be safe to insert the records into the destination, relying on the order of insert to keep the identity numbers in tact. You might even want to add a column to the destination table to hold the original identity as an error check.

    Now, remove the placeholders and the original identity column.

    To fill the gaps, you will need to make a temporary table with as many numbers as your identity upper limit.