Импорт данных с нескольких серверов SQL
Мы собираем данные с партнерских серверов Microsoft SQL Server и импортируем их на наш собственный сервер SQL. Часть того, что мы хотим сделать, - это собрать все их данные по отдельности, а затем объединить их все вместе, чтобы мы могли создать исходные данные о том, как они работают друг против друга сравнительно. Мне любопытно узнать, какие лучшие практики или рекомендации могут быть для этого?
Самый простой подход, о котором я могу подумать, - это настроить их как связанные серверы на нашем SQL Server, а затем написать хранимые процедуры (и автоматизировать расписание с помощью агента SQL Server) для импорта данных из каждой в локальные таблицы. Я также начал искать сторонние системы для этого (например, stitchdata), но не вижу систем, которые будут импортировать данные локально, большинство из них, по-видимому, импортируют данные в решение для облачной БД.
Кто-нибудь делал что-то подобное раньше и может помочь направить нас в правильном направлении?
Спасибо!
1 ответ
Чтобы решить эту проблему с помощью инструментов SQL, подход заключается в создании промежуточной базы данных для загрузки всей внешней информации.
Для сбора данных вы можете использовать пакеты служб SSIS для прямого подключения к источникам. и запланировать пакеты на SQL ServerAgent
Я избегаю использовать связанный сервер с предложениями ETL по многим причинам, но наиболее важными для меня являются:
- Если удаленный сервер недоступен, весь процесс ETL может быть нарушен.
- Процесс был бы тесно связан с источником, и если источник изменится, вам нужно будет восстановить многие вещи.
Вы можете использовать или нет SP для загрузки и сравнения таблиц между конечной базой данных и сценой. Это будет зависеть от того, находится ли база данных на том же сервере, производительность и т. Д.