我需要将 20 个具有相同结构的数据库合并为 1 个数据库。我看到了这篇文章: https://stackoverflow.com/questions/2537986/consolidate-data-from-many-different-databases-into-one-with-minimum-latency
我不明白所有这些,所以让我这样问:有些表有主键但没有 sourceID,例如:
DataBase 1
AgencyID Name
1 Apple
2 Microsoft
Database 2
AgencyID Name
1 HP
2 Microsoft
很明显,这两个表不能像这样合并,它需要额外的列:
DataBase 1
Source AgencyID Name
DB1 1 Apple
DB1 2 Microsoft
Database 2
Source AgencyID Name
DB2 1 HP
DB2 2 Microsoft
如果这是正确的方法,那么这两个表可以像这样合并到一个数据库中吗:
Source AgencyID Name
DB1 1 Apple
DB1 2 Microsoft
DB2 1 HP
DB2 2 Microsoft
...是否可以使用事务复制来实现?提前感谢您的回答,如果我能得到正确的答案,那将非常有帮助。
伊利亚
答案1
我实际上会使用 SSIS 进行合并。在我看来,这会使合并变得容易得多。在合并数据库中,我会将表的主键设为原始键和 SourceID 的组合。您可以使用 SSIS 中的派生列根据数据从哪个数据库导入来填充 SourceID。这有帮助吗?