Поделиться через


Веб-синхронизация для репликации методом слияния

Область применения:SQL Server

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

  • Синхронизация данных от мобильных пользователей через Интернет.

  • Синхронизация данных между базами данных Microsoft SQL Server в корпоративном брандмауэре.

Например, веб-синхронизацию могут использовать коммерческие представители, которым приходится много перемещаться. Компания, Adventure Works Cycles, имеет представителей продаж, которые путешествуют в различные магазины и поставщики по всему их регионам. Во время длительных путешествий представители компании останавливаются в гостиницах и нуждаются в удобном способе передачи данных по продажам и загрузки обновлений по продуктам в конце каждого дня.

ИТ-отдел Adventure Works настроил каждый портативный компьютер с SQL Server и включил репликацию слияния для использования через веб-синхронизацию. Агент слияния на каждом переносимом компьютере имеет URL-адрес Интернета, указывающий на компоненты репликации, установленные на компьютере под управлением Microsoft IIS (IIS). Эти компоненты синхронизируют подписчика с издателем. Теперь каждый торговый представитель может, не пользуясь удаленным коммутируемым соединением, подключиться через любое доступное Интернет-соединение и передать или загрузить необходимые данные. При работе через Интернет-соединение используется протокол TLS (ранее — SSL), поэтому применение виртуальной частной сети (VPN) не потребуется.

Сведения о настройке компонентов, необходимых для веб-синхронизации, см. в статьях Настройка веб-синхронизации, Настройка сервера IIS для веб-синхронизации и Настройка сервера IIS 7 для веб-синхронизации.

Примечание.

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

Обзор работы веб-синхронизации

При использовании веб-синхронизации обновления на подписчике упаковываются и отсылаются в виде XML-сообщений на IIS-сервер по протоколу HTTPS. Компьютер, на котором работает IIS-сервер, посылает команды на издатель в двоичном формате (обычно по протоколу TCP/IP). Обновления на издателе отсылаются на IIS-сервер, а затем упаковываются в XML-сообщения для доставки подписчику.

На приведенном ниже рисунке показаны некоторые из компонентов, участвующих в веб-синхронизации при репликации слиянием.

Компоненты веб-синхронизации и потоки данных

Веб-синхронизация может использоваться только для подписок по запросу, поэтому на подписчике всегда будет запущен агент слияния. Это может быть стандартный агент слияния, элемент управления ActiveX агента слияния или приложение, которое обеспечивает синхронизацию с помощью объектов RMO. Для указания местоположения компьютера, на котором работают службы IIS, используйте параметр –InternetUrl агента слияния.

Прослушиватель репликации SQL Server (Replisapi.dll) настраивается на компьютере с IIS и отвечает за обработку сообщений, отправляемых на сервер Издателем и Подписчиками. Каждый узел в топологии обрабатывает поток XML-данных с помощью конфликтователя слияния репликации (Replrec.dll).

SQL Server 2005 (9.x) или более поздней версии требуется для всех компьютеров, участвующих в веб-синхронизации.

Процесс синхронизации

Во время синхронизации выполняются следующие шаги.

  1. На подписчике запускается агент слияния. Агент выполняет следующие действия:

    1. Выполняет подключение SQL к базе данных подписки.

    2. извлекает из базы данных все изменения;

    3. производит HTTPS-запрос к компьютеру, на котором работает IIS-сервер;

    4. загружает изменения данных в виде XML-сообщения.

  2. Прослушиватель репликации SQL Server и средство согласования слияния репликаций, размещенные на компьютере в среде IIS, выполняют следующие действия.

    1. обрабатывают HTTPS-запрос;

    2. Создайте соединение SQL с базой данных публикации.

    3. Примените загруженные изменения к базе данных публикации.

    4. Извлекайте изменения загрузки для подписчика.

    5. Отправьте HTTPS-ответ агенту слияния.

  3. После получения HTTPS-ответа агент слияния на подписчике применяет загруженные изменения к базе данных подписки.