Создание централизованной БД

У меня есть 2 базы данных (A) с одинаковыми именами на разных серверах ( B & C). Обе базы данных имеют одинаковую схему. (SQL Server 2008 R2)

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

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

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

Любая помощь будет оценена.

Благодарю.

Ritesh

2 ответа

Решение

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

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

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

Задача 3: использовать логику в задаче 2

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

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

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

Задача 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, добавьте его в ежедневный план.

Другие вопросы по тегам