2013-07-30 3 views
1

У меня есть 2 базы данных (A) с одинаковым именем на разных серверах (B & C). Обе базы данных имеют одну и ту же схему. (sql server 2008 r2)Создание централизованной базы данных

Задача 1: Скопировать (передать) обе базы данных на 3-й сервер (D) с именами (A_B и A_C).

Задача 2: Объединить обе базы данных в одну базу данных (A_D). (Я не знаю, как я буду обрабатывать ключи)

Задачи 3: На ежедневной основе я должен получить данные из серверов B & C и поставить в централизованном сервере D.

Любой помощь будет оценен ,

Спасибо.

Ritesh

ответ

0

Вот несколько идей:

Задача 1: базы данных Передача по делать резервную копию восстановления на сервере D.

Задача 2: Я думаю, что это будет связано с ETL обрабатывает и создает новые суррогатные ключи в базе данных A_D. Храните ключи от исходного источника в столбце идентификатора источника данных. Я думаю, что заявление MERGE было бы полезно.

Задача 3: Рычаги логика в задаче 2

Обновление для задачи 2:

Say источник Table1 в базе данных A и B имеет ключевой столбец с именем Table1_ID. В базе данных A_D добавить столбцы Table1_SourceID и Table1_Source. Введите Table1_SourceID с ключом из исходной базы данных и используйте Table1_Source, чтобы указать исходную базу данных.

Использовать Table1_ID в качестве ключа для Table1 и является уникальным для базы данных A_D. Это будет учитывать конфликты для ключевых столбцов в исходных базах данных. Кроме того, вы можете отслеживать строку в исходной базе данных.

+0

Спасибо за ваш ответ Майк .. – Ritesh

+0

За задачу 2: возможно, вы можете объяснить немного больше. Основная проблема заключается в том, что оба db имеют одинаковые таблицы и идентификаторы, как их разделить. потому что некоторые данные в похожих таблицах могут иметь одинаковые ключи. – Ritesh

+0

@Ritesh, пожалуйста, просмотрите изменения для запрашиваемой детали. –

0

Задача 1: Создание целевых баз данных без структур. Я бы использовал задачи ->export функции в исходных базах данных с возможностью создания структур в SSMS. После экспорта у вас будут точные копии в пункте назначения.

Задача 2: В каждой таблице A_D создайте новый ключевой столбец (SurKey). Это должна быть комбинация значений, которые будут давать уникальные значения во всей таблице. Например. исходная таблица abbreviation + PK column + date.

Для каждой таблицы создайте два потока данных в пакете SSIS, который будет загружать данные с A_B и A_C. Поместите компонент Derived Column, который добавит новый столбец - SurKey.

В A_B DataFlow помещает A_B в качестве аббревиатуры, A_C во втором.

Задача 3: Использовать потоки данных, которые вы создали. Сценарий задания в SSMS, добавьте его в ежедневный план.

+0

Большое спасибо за ваш ответ. – Ritesh

+0

Только один вопрос о qucik ... Если структуры таблиц в (A_B и A_C) немного отличаются друг от друга .. (означает, что в нескольких таблицах меньше или больше столбцов и разных типов данных.) .. Будет ли этот метод работать .. ?? – Ritesh

+0

Затем я создам один поток данных с двумя источниками, добавлю производный столбец с суррогатным ключом, а затем компонент «Союз всех». – makciook

Смежные вопросы