Роли серверов

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

Публикующий сервер(publisher) содержит исходную базу данных, обеспечивает доступность ее данных для репликации и пересылает сведения о выполненных изменениях в базу данных рассылки, откуда они будут разосланы всем

серверам-подписчикам.

Сервер-подписчик(subscriber) получает и обрабатывает публикуемые данные.

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

становится публикующим сервером. (Любая информация в системе может пуб­ликоваться только одним-единственным сервером.)

Рассылающий сервер(distributor) содержит базу данных рассылки и отвечает

за хранение и пересылку адресатам информации о синхронизации и реплика­ции транзакций. Назначение рассылающего сервера — доставка на все серверы-

подписчики информации, поступающей в его базу данных рассылки от публи­кующих серверов.

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

Нет ничего необычного в том, что сервер-подписчик одновременно играет роль публикующего сервера. Однако в системе репликации SQL Server установлено, что для каждой публикации может существовать лишь одна ведущая копия базы данных, поддерживаемая публикующим сервером, независимо от числа серверов-подпис­чиков, которым предоставлено право вносить изменения в данную публикацию. Например, в системе с репликацией методом слияния сервер А публикует базу данных pubs. Серверы В и С являются подписчиками и имеют право вносить в эту базу дан­ных изменения. Ведущая копия базы данных, в которую будут поступать сведе­ния обо всех изменениях, находится на публикующем сервере А. Изменения, выпол­ненные на сервере С, поступят на сервер В после репликации через сервер А.

Внешние системы, отличные от SQL Server (например, Oracle и Microsoft Access), могут выступать в качестве подписчиков для всех существующих типов репликации (за исключением непосредственно обновляемых подписчиков). Кроме того, Microsoft предоставила разработчикам открытый интерфейс службы репликации транзакций системы SQL Server. В результате третьи фирмы получили возможность создавать программные продукты, позволяющие отличным от SQL Server системам выступать в качестве гетерогенных источников публикуемой информации.