2014-11-13 4 views
1

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

У меня есть попробовать базы данных сервера зеркального отображения, но мое требование мало чем отличается

1) Я хочу как основной и зеркало присутствуют одновременно

2), когда локальный сервер подключен к Интернет, то обновления обмена

3) локальный пользователь подключается к локальному серверу, а пользователь сети подключается к удаленному серверу Каков наилучший способ?

Благодаря

ответ

1

Что вам нужно сделать, это с помощью SQL Server Replication.

Это серия методов, позволяющая запрашивать и изменять данные в нескольких разных экземплярах SQL Server, а затем синхронизировать их. Но это не волшебство. Это на самом деле довольно трудно осуществить, потому что есть много вещей, чтобы принять во внимание:

  • поколения уникальных идентификаторов в нескольких независимых серверах (так что нет collissions между ними)
  • контролировать то, что нужно обновить в одном сервере с другой, и наоборот разрешения конфликтов
  • : например, строка, которая была обновлена ​​на двух разных серверах после последнего Syncronization

репликации SQL Server поможет вам управлять всем этим проблемы, но вы sti Мне нужно будет сделать некоторую работу, чтобы она работала нормально. Он предлагает методы, как:

  • версии строк (чтобы знать, что должно быть синхронизировано с одного сервера на другом)
  • резервирования ПК диапазонов для каждого сервера (чтобы избежать PK conflictsbetween серверов)
  • использования графические интерфейсы для первичных ключей (решают easyly предыдущей задачи, но перегружают PK индексы)
  • использования издателя suscriptor шаблона (так, что один сервер может подписаться на изменения от друга)
Смежные вопросы