Bem,
Id
as colunas não são "chaves" significativas, e elas vão te enganar em todos os lugares. Eles deveriam ser identificadores físicos sem sentido, e você atribuiu significado a eles. Quando você exige que os mesmos Ids
existem em outro banco de dados. Você resolveu a violação FK? Muito provavelmente você tem um
Id
totalmente diferente para a linha do DB1, no DB2; e certamente diferentes Ids
pai . Você precisa não consistentemente especifique um
Id
valor e deixe que o servidor o preencha ou sempre especifique um Id
valor, em ambas as bases de dados. O segundo problema é que você não está pensando transacionalmente. Transações multi-db não são problema algum. Então esqueça o
Id
coluna, o que ela contém e use as chaves reais para a tabela, em ambos os Dbs. Os ids
será diferente, mas quem se importa (isso significa liberar a necessidade de anexar significado ao identificador sem sentido).