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