синхронизировать две локальные и удаленные базы данных SQL Server

1

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

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

1) Я хочу, чтобы оба принципала и зеркала присутствовали одновременно

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

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

благодаря

Теги:
sql-server

1 ответ

1

Что вам нужно сделать, это использовать репликацию SQL Server.

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

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню