• If I understand what you mean by overlaps in the referential data, then yes there are. Without going into the specifics, both databases have a table called Person with PersonID as an identity. That identity is referred to in a number of other tables and it is not unique between both databases so there might be a PersonID = 500 in both databases that refer to different persons.

    The only approach that I can think of, that looking back at the OP, I didn't explain very well, would be to update the data as it goes in. The mapping tables I was referring to would map the ID in the old database to the ID that was added in the new database, so that when the data of a table that refers to PersonID is inserted, it would put in the new PersonID.

    Example mapping table:

    CREATE TABLE dbo.MapPerson(

    OldPersonID INT,

    NewPersonID INT)

    Then when inserting into a new table that has a reference to PersonID, I would join in the MapPerson table to get the new PersonID. As you said, this approach would be very labor intensive and get more so as you add more tables with multiple references to other tables. That's why I'm hoping there might be another approach I haven't thought of...