Первый шаг в сборе базовых данных для публикаций и подписок состоит в сборе сведений из заголовка подписки. Можно воспользоваться исходным текстом в листинге 1 для создания таблицы SubscriptionHeader, в которой будет храниться подписная информация для каждого подписчика определенной публикации.
Чтобы заполнить таблицу SubscriptionHeader, воспользуйтесь MSmergeagents (таблица базы данных распространителя) и sysmcrgesubscriptions (таблица базы данных публикации). Запрос в листинге 2 показывает, как получить требуемые данные. Чтобы воспользоваться этим исходным текстом, необходимо заменить <publication_db>.<schema> именем базы данных публикации во фрагменте с меткой А.
С помощью запроса в листинге 2 можно периодически выполнять добавочное обновление таблицы SubscriptionHeader. Запрос проверяет наличие добавленных и удаленных подписок, а также подписок, требующих обновления. Это чрезвычайно важный шаг. Он гарантирует, что в базовый набор войдут подписки, необходимые для сбора статистики.
Например, предположим, что добавлена новая подписка в публикацию, охватывающую всю территорию США, и каждый штат обозначен как регион. Каждый регион может иметь различные задержки в зависимости от характеристик связи, количества данных (на которое может влиять фильтрация в публикации) и одновременных подключений подписчиков. Регулярное выполнение запроса обеспечит добавление новой подписки в базовый набор для сбора его статистики. Если не выполнять запрос регулярно, то статистика новой подписки не будет собрана. Следовательно, если возникает проблема с производительностью, будет гораздо труднее определить, вызвана ли она новой подпиской.