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


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

Область применения: 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-ответа агент слияния на подписчике применяет загруженные изменения к базе данных подписки.