Постоянно синхронизировать таблицы между двумя базами данных - PullRequest
1 голос
/ 14 июля 2010

Мой опыт работы с MSSQL Server был 6 лет назад, поэтому сейчас я знаю только его основы.

Проблема, с которой я сталкиваюсь, заключается в синхронизации баз данных между двумя живыми CRM (NopCommerce и Rainbow Portal, если кому-то интересно), работающими на одном сервере БД. Данные, которые меня интересуют, распределены между 7 таблицами в одной БД и 5 в другой. Идея состоит в том, чтобы два веб-приложения с одинаковыми данными с обновлениями в одном мгновенно распространялись на другое.

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

Мне не известны все возможности SQL Server, поэтому я открыт для предложений относительно того, каков наилучший и самый быстрый способ достижения цели. О написании большего количества триггеров? Должен ли я создать приложение «наблюдатель»? Есть ли какой-то встроенный механизм для этого?

Спасибо!

Ответы [ 2 ]

1 голос
/ 14 июля 2010

Вам следует взглянуть на SQL Replication и / или использовать SSIS для интеграции ETL, планирования и т. Д.

Триггеры (особенно кросс-БД) могут быть грязными для обслуживания и отладки - вы также можете рассмотреть возможность загрузки данных вотдельная (третья) промежуточная база данных, перед тем как распространять данные в две другие ваши базы данных?

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

1 голос
/ 14 июля 2010

Возможно, вы захотите взглянуть на репликацию SQL Server - http://msdn.microsoft.com/en-us/library/bb500346.aspx, в частности репликацию слиянием

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...