Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5820 / 381 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00
Лекция 27:

Репликация транзакций

Мониторинг системы репликации транзакций

Мониторинг операций репликации транзакций выполняется так же, как и мониторинг других типов репликации, т.е. через Performance Monitor (perfmon). В perfmon имеется ряд объектов, которые добавляются при использовании репликации SQL Server. Это следующие объекты:

  • SQLServer:Replication Agents. Указывает количество работающих агентов репликации каждого типа.
  • SQLServer:Replication Dist. Предоставляет информацию о задержке при распространении. Длительные задержки могут быть признаком того, что дистрибьютор перегружен.
  • SQLServer:Replication Logreader. Предоставляет данные об активности и задержке агента Log Reader Agent. Следите за длительными задержками. Это может быть признаком того, что имеется проблема, касающаяся чтения журнала транзакций на издателе агентом Log Reader Agent. Кроме того, следите за количеством переданных транзакций в секунду. При большом количестве вам, возможно, требуется более мощная подсистема ввода-вывода на дисковых томах журнала транзакций.

Используя Performance Monitor для мониторинга этих значений, вы можете определить наличие проблем производительности Log Reader Agent или дистрибьютора. Данные perfmon дают массу полезной информации, но она не всегда идентифицирует проблемы.

Настройка системы репликации транзакций

Основные шагами в настройке системы репликации транзакций являются надлежащее конфигурирование и мониторинг системы, как это описано в предыдущих разделах. Кроме того, после ввода системы в эксплуатацию, когда вы можете выполнять ее мониторинг, вам, возможно, потребуется изменение интервала опроса. Обычно вполне подходит значение по умолчанию, равное 10 секундам. При увеличении частоты опроса (т.e. уменьшении интервала опроса) транзакции реплицируются быстрее, но увеличивается нагрузка на журнал транзакций. При уменьшении частоты опроса (т.e. увеличении интервала опроса) вы снижаете нагрузку на журнал транзакций, но время репликации транзакций увеличивается.

Кроме того, если в вашей системе происходят частые обновления, вам может потребоваться увеличение размера пакета чтения. Как уже говорилось, это позволит агенту Log Reader Agent считывать за один раз больше транзакций. Если увеличить это значение и оставить интервал опроса в 10 секунд, то будет реплицироваться больше транзакций и станет меньше дополнительная нагрузка.

Вам может также потребоваться мониторинг производительности сети и (при необходимости) ее увеличение, как и в случае репликации снимков. Если ваша система работает неадекватным образом, например, если центральные процессоры и подсистемы ввода-вывода достигли предела своих возможностей, а процесс репликации занимает слишком много времени, то у вас, возможно, имеются сетевые проблемы. К сожалению, сетевые проблемы нельзя диагностировать с помощью perfmon. Следует использовать продукт для мониторинга сети, такой как Microsoft Systems Management Server (SMS). Выполните мониторинг сетевой платы, чтобы определить, не достигла ли она предела своих возможностей.

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

Реализация репликации транзакций

В этом разделе вы узнаете о методах реализации репликации транзакций. Она может быть реализована по схеме "один-к-многим" или "многие-к-одному". Репликация транзакций часто реализуется через глобальную сеть (WAN).

Репликация типа "один-к-многим"

В большинстве реализаций репликации транзакций используется схема "один-к-многим". При этом типе реализации одна таблица публикуется для одного или нескольких подписчиков.

Репликация типа "многие-к-одному"

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

Репликация через глобальную сеть (WAN)

Репликация через глобальную сеть не только возможна, но и довольно широко распространена. Если вы реплицируете данные через глобальную сеть, то вам следует непрерывно следить за операциями распространения и выявлять случаи слишком длительной репликации, связанные с ограничениями пропускной способности сети. Кроме того, если возможно, конфигурируйте репликацию таким образом, чтобы взаимодействие через глобальную сеть выполнялось только агентом Distribution Agent. Это означает конфигурирование системы таким образом, чтобы дистрибьютор и издатель находились по одну сторону глобальной сети.

Заключение

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