2013-03-14 2 views
0

У меня есть клиент, у которого есть устаревшее приложение, которое частично будет заменено новым приложением, и использовать базы данных SQL Server 2008 R2 с похожими, но разными схемами. Новая база данных представляет собой супер-набор старых баз данных с таблицами, которые объединены и разлочены для лучшей нормализации.Репликация в реальном времени между двумя различными схемами в SQL Server 2008 R2

В конечном итоге новое приложение полностью заменит старое приложение, которое они будут существовать параллельно в течение некоторого времени, а данные, введенные в один, должны отражаться в другом в почти реальном времени. Есть ли какой-либо продукт или, что еще лучше, пакет MS, который будет поддерживать что-то вроде Replication + SSIS?

Решение, которое мы разработали прямо сейчас, представляет собой запуск триггеров в старой базе данных, которые записываются в новую базу данных и реализуют репликацию в старую базу данных на уровне данных (C# /. NET, если кому-то это интересно). По техническим причинам и по политическим причинам невозможно изменить прежнее приложение (Cold Fusion), чтобы сделать то же самое. Хотя это решение работает, оно явно некрасиво, и нам бы хотелось, если это было возможно, более элегантно.

Любые идеи?

+0

У нас есть системы с триггерной/логарифмической репликацией, и это не уродливо, это прекрасно работает. Учитывая ваши ограничения, это звучит как лучшее решение. Лично я бы не использовал C# для передачи данных, которые я бы использовал SSIS, но это действительно зависит от навыков ваших команд. –

ответ

1

Решение, которое у вас есть (триггеры), вероятно, является таким же хорошим решением, как и любое другое. Я не думаю, что вы, скорее всего, найдете готовое решение, просто учитывая природу дисперсии в процессе нормализации.

Возможно, вы сможем сделать что-то умное, используя merge replication.

Возможно, вы действительно можете использовать идентичную модель данных в своей новой базе данных и установить репликацию слиянием. Затем создайте представления и присоедините к ним несколько триггеров instead of, чтобы имитировать новую структуру таблицы. (Или сделайте это точно назад - повторите новую модель в старой базе данных и используйте триггеры просмотров + для моделирования старой модели данных в старом приложении.)

Однако единственным оптимальным вариантом в этом случае является возможно, для создания пакета SSIS. В конце концов, это действительно проблема, с которой SSIS была разработана.

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