Синхронизация в SQL Replication работает при синхронизации вручную, но не автоматически - PullRequest
0 голосов
/ 11 мая 2010

Я использую SQL Server 2005 для создания копии репликации основных баз данных, чтобы отчеты могли указывать на копию репликации вместо блокировки наших основных баз данных.

Я настроил 3 базы данных как публикации, а затем 3 подписчика, передавая транзакции подписчикам, я надеюсь, мгновенно!

Похоже, что при использовании функции «Вставить трассировщик» репликация отдает издателю до распространителя менее 2 секунд, но для репликации подписчикам может потребоваться более 7 минут (а это локальные базы данных в сети SAN). Это может быть по двум причинам:

  1. Операторы SQL, используемые для запроса базы данных, получают блокировки, которые останавливают транзакции, обновляющие подписчиков.
  2. Подписчики слишком заняты для репликации, чтобы применить изменения.

Что меня беспокоит, так это то, что, хотя Replication Monitor / Insert Tracer отображает эту статистику, если вы используете «Просмотр сведений о подписке» и затем нажимаете «Пуск», он будет синхронизироваться в течение нескольких секунд.

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

Что я делаю не так?

[Обратите внимание, что установлен флаг -Continuous!]

1 Ответ

0 голосов
/ 12 мая 2010

После некоторого исследования я заметил, что типичные задания локальной публикации / подписки имеют 3 задания на подписку:

  1. Создание снимка
  2. Переместить журнал транзакций
  3. Старт (2)

Это относится к следующим работам:

  1. 1015 * -. <? Номер>
  2. 1020 * -. <? Номер>
  3. 1024 * -. <Число?>

(3) настроен на запуск один раз в день. Поскольку это была push-модель, я ожидал, что она будет работать постоянно, но это не так. Соглашения об именах были:

Надеюсь, это кому-нибудь поможет

...