#sql-server-2008-r2 #sync #unify
#sql-server-2008-r2 #синхронизация #объединить
Вопрос:
У нас возникают трудности с синхронизацией наших данных. Последние 20 лет мы запускаем систему на компьютере UNIX, используя сервер данных UNIFY. Была предпринята попытка перейти на Microsoft, и теперь мы также запускаем базу данных Microsoft SQL Server 2008 R2 в нашей сети Microsoft. Некоторые таблицы из этих двух баз данных должны оставаться синхронизированными. Кроме того, таблицы, которые необходимо синхронизировать, имеют несколько отличающиеся структуры таблиц.
Сервер Microsoft SQL Server работает на 64-разрядной машине. Unify не написала 64-разрядный ODBC-драйвер, который мы могли бы использовать при попытке синхронизировать базы данных.
Я рассмотрел возможность использования триггеров базы данных в Unify, которые записывают журналы всех изменений, внесенных в таблицы, а затем передают журналы по FTP и применяют изменения (или вызывают веб-службы для применения изменений), но когда срабатывает триггер и записывает журнал / вызывает службу, если транзакция откатывается, журнал все равно остается.
Есть ли у кого-нибудь идеи о том, каким был бы наилучший способ синхронизировать эти базы данных?
Заранее спасибо
Предоставить
Ответ №1:
Возможно, вам захочется заглянуть в SQL Server Service Broker,http://technet.microsoft.com/en-us/library/bb522893.aspx
Лучшим эквивалентом, который я могу придумать, были бы Oracle Streams, если у вас когда-либо была возможность им воспользоваться. Однако, возможно, вас беспокоит то, что вы упомянули, что у этой базы данных Unify нет поддержки драйверов ODBC для 64-разрядных сред (тем больше причин, по которым вам следует вообще отказаться от Unify).
Просто имейте в виду, что, несмотря на заявления, эти две базы данных никогда не будут синхронизированы в реальном времени. Всегда будет хотя бы небольшая задержка.