Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Синхронизировать две базы  [new]
southwestdude
Member

Откуда:
Сообщений: 1
Есть две базы данных под MS SQL 2008
Старая и новая. Примерно по 10 таблиц, но структура слегка разная, в новой объекты переделали по другому.
Соответственно есть старое приложение и пишется новое приложение.
Несколько таблиц разбиты на две, разные имена таблиц, колонок и т.д.
Хотя в принципе данные похожие (финансовые - счета, имена клиентов и т.д.)
Некоторое время обе базы должны жить синхронно, т.е. если добавляется запись в новую, то она сразу же (реал тайм) должна добавится во вторую. И апдейт и наоборот. Удаления редки (mark delete, т.е. update).
Когда новое приложение напишется и начнёт устойчиво работать, все клиенты переведутся на неё и всё старое прибьётся.

Есть ли решение подобному "out of box" или надо писать триггеры , сравнение, и insert/update скрипты самим?
Базы на разных серверах но в одной сетке.
29 май 15, 00:14    [17704606]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизировать две базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
southwestdude
Есть ли решение подобному "out of box" или надо писать триггеры , сравнение, и insert/update скрипты самим?
Не могу представить, что такое решение могло бы быть стандартным.

В принципе стандартом для синхронизации является репликация, но при значительном отличии моделей делать её будет сложнее, чем синхронизацтю руками.

Так что думаю реальный вариант - триггеры на таблицы старой базы. Или, если изменения модели небольшие, можно сделать репликацию плюс триггеры.
29 май 15, 00:56    [17704679]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизировать две базы  [new]
sti
Member

Откуда:
Сообщений: 769
автор
Некоторое время обе базы должны жить синхронно, т.е. если добавляется запись в новую, то она сразу же (реал тайм) должна добавится во вторую.


У нас всё на процедурах, поэтому делали так - процедуры в новой базе написали таким образом, чтобы они добавляли запись в обе базы сразу. Возможности править старое приложение не было, поэтому добавлять записи в старой базе запретили административно под страхом кар небесных (на 100% не сработало, конечно, поэтому делали и ручную синхронизацию). Как-то подобным образом и с апдейтами. Пользователям пришлось какое-то время работать в двух приложениях одновременно.

Вспоминаю как страшный сон )))
29 май 15, 10:30    [17705430]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить