Проверка соединений и измерение задержки для репликации транзакций

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

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

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

На основании этих вычислений можно ответить на ряд вопросов, включая следующие:

  • Какому подписчику необходимо больше всего времени для получения изменения с издателя?

  • Который из подписчиков, ожидавших получение трассировочного маркера, не получил его (если таковой существует)?

Измерение задержки и проверка правильности соединений для репликации транзакций

Трассировочные маркеры также могут быть полезны при «замораживании» системы, когда останавливаются все действия и проверяется получение всеми узлами всех необработанных изменений. Дополнительные сведения см. в разделе Как заморозить топологию репликации (программирование репликации на языке Transact-SQL).

Вопросы использования трассировочных маркеров

Для применения трассировочных маркеров необходимо пользоваться определенными версиями Microsoft SQL Server:

  • Распространитель должен быть Microsoft SQL Server 2005 или более поздней версии.

  • Издатель должен быть SQL Server 2005 или более поздней версии, либо издателем Oracle.

  • Для принудительных подписок статистика по трассировочным маркерам собирается с издателя, распространителя и подписчиков, если это подписчик Microsoft SQL Server 7.0 или более поздней версии.

  • Для подписок по запросу статистика по трассировочным маркерам собирается с подписчиков, только если это подписчик SQL Server 2005 или более поздней версии. Если это подписчик SQL Server 7.0 или Microsoft SQL Server 2000, то статистика собирается только с издателя и распространителя.

Следует также учитывать ряд других вопросов и ограничений:

  • Подписки должны быть активными, чтобы получать трассировочный маркер. Подписка является активной, если она инициализирована.

  • При повторной инициализации удаляются все отложенные трассировочные маркеры для соответствующих подписок.

  • Подписчики получают только трассировочные маркеры, созданные после их исходной синхронизации.

  • Трассировочные маркеры не пересылаются переиздающими подписчиками.