True, but what I’m saying is that if compare multiple tables (or anything else) inserts data including the identity column, at that point the sequence will be behind, and any insert after that which does not specify the identity column is going to result in a duplicate.
I guess the way around that (and maybe what you are doing) is to manually increase the sequence to a safe value every time you do an insert that specifies the identity column.
That will work, but insert scripts are slow, which is fine if you don’t have much data. If you have a lot, read on.
I’ll make a change for Monday’s beta to sync columns that identity in source but not target. Seems like we ought to do that anyway. So if you change your target tables so that they don’t use identities, then you’ll be able to sync them. Unfortunately it’s a bit of a pain to change, because you’d have to create a new column, copy data over to it, drop the identity column, then rename the new column).
If you don’t want to do that, then here’s another idea:
If your target table is emptied, you could use Schema Browser -> Right-Click -> Data -> Copy to another schema. As long as you don’t have any LOB columns, this will use array DML and inserts 500 rows (by default, this value is adjustable) with each statement . I just checked it and this method will insert ‘by default’ identity columns.