Мне нужно объединить 20 баз данных с одинаковой структурой в одну базу данных. Я видел этот пост: 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
... и возможно ли это сделать с помощью репликации транзакций? Заранее спасибо за ответ, было бы очень полезно, если бы я получил на это правильный ответ.
Илия
Я бы действительно сделал консолидацию с помощью SSIS. Мне кажется, это значительно упростило бы объединение. В консолидированной базе данных я бы сделал первичный ключ таблиц комбинацией исходного ключа и SourceID. Вы можете использовать Derived Column в SSIS для заполнения SourceID на основе того, из какой базы данных поступают данные. Это помогает?