Подписка по запросу работает на подписчике анонимно. Определить, когда репликация закончилась

Я создал публикацию (моментальный снимок или транзакцию) на сервере Server-A. Я пытаюсь настроить репликацию по запросу на сервере B.

Я могу правильно использовать репликацию, но мой моментальный снимок очень большой, и полная транзакция занимает около 1 часа.

Когда я проверяю статус своей подписки на подписчике, он говорит, что агент заданий уже запущен и работает. На сервере издателя я получаю статус «Нет транзакции репликации». Даже когда я знаю, что репликация работает в фоновом режиме на подписчике.

В итоге я запускаю SQL Profiler на сервере подписчика, чтобы посмотреть, когда репликация закончится. Есть ли другой способ посмотреть это?

Я использую SQL Server 2008 R2.


person ggtffg    schedule 20.11.2015    source источник
comment
эти статусы звучат нормально   -  person JamieD77    schedule 21.11.2015
comment
Да, это нормально и работает в фоновом режиме. Но я не вижу, что именно происходит в фоновом режиме в случае подписки по запросу. Хотя я обычно вижу, что репликация происходит в случае push-подписок. я неправильно сравниваю?   -  person ggtffg    schedule 21.11.2015
comment
Я думаю, что должен быть способ найти дистрибьютора в статусе подписчика. Я проверил с помощью трассировки событий, но она не работает, пока мой снимок не будет полностью реплицирован на подписчике.   -  person ggtffg    schedule 21.11.2015
comment
Я никогда не использовал подписки по запросу. только транзакционный/push.. статус синхронизации в подписке обычно позволяет узнать, обновляется ли она.. также запуск профилировщика на издателе показал транзакции репликации   -  person JamieD77    schedule 21.11.2015
comment
Согласованный! то же самое я сделал. Итак, нет ли другого способа узнать, обновляется ли он на подписчике?   -  person ggtffg    schedule 21.11.2015


Ответы (1)


Основываясь на моем понимании вашего вопроса, то, что вы ищете, на самом деле невозможно с репликацией моментальных снимков, и вот почему; у издателя есть задание, которое создает моментальный снимок базы данных и сохраняет его в выбранную вами папку. На вторичке (абоненте) есть работа, которая выходит в папку издателя и обрабатывает ее. Например, вы можете настроить издателя на запуск задания в 6 утра, а подписчика позже обработать файл в 8 утра. Единственная цель издателя — сохранить файл моментального снимка, и ему все равно, когда подписчик его обработает.

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

Вот ссылка на Microsoft TechNet, объясняющая различные варианты репликации.

Надеюсь это поможет!

person Mike Zalansky    schedule 20.11.2015