Поделиться через


Как определить расписания синхронизации (программирование репликации на языке Transact-SQL)

При создании подписки можно определить расписание синхронизации, управляющее запуском агента репликации для подписки. Если не указать параметры расписания, подписка использует расписание по умолчанию. Можно определить расписание синхронизации программно с помощью хранимых процедур репликации. Эти хранимые процедуры зависят от типа репликации и типа подписки (по запросу или принудительная).

Расписание определяется следующими параметрами, поведение которых наследуется из sp_add_schedule (Transact-SQL).

  • @frequency_type — тип частоты, которая используется при создании расписания для агента.

  • @frequency_interval — день недели, в который запускается агент.

  • @frequency_relative_interval — неделя конкретного месяца, если в расписании предусмотрен ежемесячный запуск агента.

  • @frequency_recurrence_factor — число единиц, зависящих от типа частоты, происходящих между синхронизациями.

  • @frequency_subday — единица частоты, если агент запускается чаще одного раза в день.

  • @frequency_subday_interval — число единиц частоты между запусками агента, если он выполняется несколько раз в день.

  • @active_start_time_of_day — время первого запуска агента в конкретный день.

  • @active_end_time_of_day — время последнего запуска агента в конкретный день.

  • @active_start_date — первый день вступления в силу расписания агента.

  • @active_start_date — последний день, когда расписание агента имеет силу.

Определение расписания синхронизации для подписки по запросу на публикацию транзакций

  1. Создайте подписку по запросу на публикацию транзакций. Дополнительные сведения см. в разделе Как создавать подписки по запросу (программирование репликации на языке Transact-SQL).

  2. На подписчике выполните хранимую процедуру sp_addpullsubscription_agent (Transact-SQL). Укажите параметры @publisher, @publisher_db, @publication и учетные данные Microsoft Windows, с которыми выполняется агент распространителя на подписчике, для параметров @job_name и @password. Укажите описанные выше параметры синхронизации, определяющие расписание для задания агента распространителя, синхронизирующего подписку.

Определение расписания синхронизации для принудительной подписки на публикацию транзакций

  1. Создайте принудительную подписку на публикацию транзакций. Дополнительные сведения см. в разделе Как создавать принудительные подписки (программирование репликации Transact-SQL).

  2. На подписчике выполните хранимую процедуру sp_addpushsubscription_agent (Transact-SQL). Укажите параметры @subscriber, @subscriber_db, @publication и учетные данные Windows, с которыми выполняется агент распространителя на подписчике, для параметров @job_name и @password. Укажите описанные выше параметры синхронизации, определяющие расписание для задания агента распространителя, синхронизирующего подписку.

Определение расписания синхронизации для подписки по запросу для публикации слиянием

  1. Создайте подписку по запросу на публикацию слиянием. Дополнительные сведения см. в разделе Как создавать подписки по запросу (программирование репликации на языке Transact-SQL).

  2. Выполните процедуру sp_addmergepullsubscription_agent на подписчике. Укажите параметры @publisher, @publisher_db, @publication и учетные данные Windows, с которыми выполняется агент слияния на подписчике, для параметров @job_name и @password. Укажите описанные выше параметры синхронизации, определяющие расписание для задания агента слияния, синхронизирующего подписку.

Определение расписания синхронизации для принудительной подписки на публикацию слиянием

  1. Создайте принудительную подписку на публикацию слиянием. Дополнительные сведения см. в разделе Как создавать принудительные подписки (программирование репликации Transact-SQL).

  2. Выполните на подписчике хранимую процедуру sp_addmergepushsubscription_agent. Укажите параметры @subscriber, @subscriber_db, @publication и учетные данные Windows, с которыми выполняется агент слияния на подписчике, для параметров @job_name и @password. Укажите описанные выше параметры синхронизации, определяющие расписание для задания агента слияния, синхронизирующего подписку.