
База данных рассылки
В базе данных рассылки хранятся сведения обо всех транзакциях, подлежащих репликации на серверы-подписчики (при использовании репликации транзакций). Она функционирует как промежуточная пересылающая база данных. Сведения о транзакции сохраняются в базе данных рассылки до тех пор, пока все подписчики не подтвердят успешную доставку этой информации. К тому же эта база данных используется для хранения информации о синхронизации публикаций и подписчиков.
Системные таблицы, входящие в состав базы данных рассылки.
• MSmerge_history — содержит информацию о выполненных ранее обновлениях подписчиков.
• MSmerge_agents — содержит сведения об агентах слияния.
• MSdistribution_agents — содержит сведения об агентах рассылки.
• MSdistribution_history — содержит информацию для агентов рассылки.
• MSlogreader agents — содержит сведения об агентах чтения журнала на локальном рассылающем сервере.
• MSlogreader_history — содержит информацию для агентов чтения журнала.
• MSrepl_commands — содержит команды репликации.
• MSrepl errors — содержит сведения о неудачных попытках выполнения про
цедур репликации.
• MSrepl_transactions — содержит отдельную строку для каждой подлежащей
репликации транзакции.
• MSrepl version — содержит единственную строку со сведениями о версии те
кущей установленной службы репликации.
Обзор агентов репликации SQL Server
Для эффективного управления работой системы репликации SQL Server необходимо подробно ознакомиться с различными агентами, используемыми в процессах репликации.
Все существующие типы агентов:
• Агент чтения журнала (log reader). Анализирует наличие в журнале транзакций публикуемой базы данных записей об отдельных транзакциях, подлежащих
репликации. Сведения о найденных транзакциях агент чтения журнала помещает в базу данных рассылки. Во всех публикациях по методу репликации транзакций имеются агенты чтения журнала.
• Агент слияния (merge agent). Отвечает за слияние поступающих изменений, а
также за выполнение исходной синхронизации, осуществляемой с помощью
агента синхронизации.
• Агент синхронизации (snapshot agent). Создает файлы синхронизации на рассылающем сервере и фиксирует в базе данных рассылки статус информации о
синхронизации между публикуемой базой данных и базами данных серверов-
подписчиков. Во всех публикациях имеются агенты синхронизации.
• Агент рассылки (distribution agent). Отвечает за рассылку серверам-
подписчикам сведений о транзакциях, помещенных в базу данных рассылки.
В публикациях по методу репликации транзакций и синхронизации имеются
отдельные агенты рассылки для каждого сервера-подписчика.
В SQL Server 2000 с помощью предоставляемых элементов управления ActiveX агенты слияния и рассылки могут быть запущены из других приложений.
Варианты согласования
Согласованием (synchronization) называется процесс уведомления публикующего сервера и сервера-подписчика о том, что их базы данных находятся в одном состоянии и службы репликации могут начать свою работу. SQL Server поддерживает несколько вариантов согласования. По умолчанию используется автоматическое согласование серверов, означающее, что система SQL Server автоматически выполняет процедуры согласования в соответствии с установленным интервалом. Если согласование не выполняется, SQL Server предполагает, что статьи источника данных уже синхронизированы со статьями серверов-получателей. Система не предпринимает никаких действий для подтверждения этого факта. В таком случае вся ответственность возлагается на администратора.