sp_changesubstatus (Transact-SQL)

Применимо к:SQL Server Управляемый экземпляр SQL Azure

Изменяет состояние существующего подписчика. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sp_changesubstatus [ [ @publication = ] 'publication' ]  
    [ , [ @article = ] 'article' ]  
    [ , [ @subscriber = ] 'subscriber' ]  
        , [ @status = ] 'status'  
    [ , [ @previous_status = ] 'previous_status' ]  
    [ , [ @destination_db = ] 'destination_db' ]  
    [ , [ @frequency_type = ] frequency_type ]  
    [ , [ @frequency_interval = ] frequency_interval ]  
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]  
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]  
    [ , [ @frequency_subday = ] frequency_subday ]  
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]  
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]  
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]  
    [ , [ @active_start_date = ] active_start_date ]  
    [ , [ @active_end_date = ] active_end_date ]  
    [ , [ @optional_command_line = ] 'optional_command_line' ]  
    [ , [ @distribution_jobid = ] distribution_jobid ]  
    [ , [ @from_auto_sync = ] from_auto_sync ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  
    [ , [ @offloadagent= ] remote_agent_activation ]  
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]  
    [ , [ @dts_package_name= ] 'dts_package_name' ]  
    [ , [ @dts_package_password= ] 'dts_package_password' ]  
    [ , [ @dts_package_location= ] dts_package_location ]  
    [ , [ @skipobjectactivation = ] skipobjectactivation  
  [ , [ @distribution_job_name= ] 'distribution_job_name' ]  
    [ , [ @publisher = ] 'publisher' ]  

Аргументы

[ @publication = ] 'publication' Имя публикации. публикацияsysname с значением по умолчанию %. Если публикация не указана, все публикации затрагиваются.

[ @article = ] 'article' Имя статьи. Оно должно быть уникальным для публикации. статьяsysname с значением по умолчанию %. Если статья не указана, все статьи затрагиваются.

[ @subscriber = ] 'subscriber' Имя подписчика для изменения состояния. подписчик имеет имя sysname с значением по умолчанию %. Если подписчик не указан, состояние изменяется для всех подписчиков в указанную статью.

[ @status = ] 'status' Состояние подписки в таблице syssubscriptions . состояние sysname, без значения по умолчанию и может быть одним из этих значений.

значение Описание
active Подписчик синхронизирован и получает данные.
inactive Запись о подписчике существует, но подписка отсутствует.
Подписаны Подписчик запрашивает данные, но еще не синхронизирован.

[ @previous_status = ] 'previous_status' Является предыдущим состоянием подписки. previous_status имеет имя sysname с значением NULL по умолчанию. Этот параметр позволяет изменять все подписки, которые в настоящее время имеют это состояние, таким образом, разрешая групповые функции для определенного набора подписок (например, настройка всех активных подписок).

[ @destination_db = ] 'destination_db' Имя целевой базы данных. destination_db имеет имя sysname с значением по умолчанию%.

[ @frequency_type = ] frequency_type Частота планирования задачи распространения. frequency_type имеет значение int с значением NULL по умолчанию.

[ @frequency_interval = ] frequency_interval Значение, применяемое к частоте, заданной frequency_type. frequency_interval имеет значение int с значением NULL по умолчанию.

[ @frequency_relative_interval = ] frequency_relative_interval Дата задачи распространения. Этот параметр используется, если frequency_type имеет значение 32 (ежемесячное относительно). frequency_relative_interval является int и может быть одним из этих значений.

значение Description
1 First
2 Second
4 Третья
8 Четвертая
16 Last
NULL (по умолчанию)

[ @frequency_recurrence_factor = ] frequency_recurrence_factor Является фактором повторения, используемым frequency_type. frequency_recurrence_factor имеет значение int с значением NULL по умолчанию.

[ @frequency_subday = ] frequency_subday Как часто( в минутах) перепланировать в определенный период. frequency_subday является int и может быть одним из этих значений.

значение Description
1 Однократно
2 Second
4 Minute
8 Часы
NULL (по умолчанию)

[ @frequency_subday_interval = ] frequency_subday_interval Интервал для frequency_subday. frequency_subday_interval имеет значение int с значением NULL по умолчанию.

[ @active_start_time_of_day = ] active_start_time_of_day Время дня, когда задача распространения впервые запланирована, отформатирована как HHmmss. active_start_time_of_day имеет значение int с значением NULL по умолчанию.

[ @active_end_time_of_day = ] active_end_time_of_day Время дня, когда задача распространителя перестает планироваться, отформатирована как HHmmss. active_end_time_of_day имеет значение int с значением NULL по умолчанию.

[ @active_start_date = ] active_start_date Дата, когда задача распространителя впервые запланирована, отформатирована как yyyyMMdd. active_start_date имеет значение int с значением NULL по умолчанию.

[ @active_end_date = ] active_end_date Дата, когда задача распространителя перестает планироваться, отформатирована как yyyyMMdd. active_end_date имеет значение int с значением NULL по умолчанию.

[ @optional_command_line = ] 'optional_command_line' Необязательная командная строка. optional_command_line — nvarchar(4000) с значением NULL по умолчанию.

[ @distribution_jobid = ] distribution_jobidИдентификатор задания агент распространения на распространителю подписки при изменении состояния подписки с неактивного на активный. В иных случаях он не определяется. Если в отдельный вызов этой хранимой процедуры вовлечено более одного агента распространителя, результат не определен. distribution_jobid — binary(16), значение по умолчанию равно NULL.

[ @from_auto_sync = ] from_auto_sync

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

[ @ignore_distributor = ] ignore_distributor

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

[ @offloadagent = ] remote_agent_activation

Примечание.

Удаленная активация агента является устаревшей и больше не поддерживается. Этот аргумент поддерживается только для обратной совместимости скриптов. Если remote_agent_activation значение, отличное от 0, возникает ошибка.

[ @offloadserver = ] 'remote_agent_server_name'

Примечание.

Удаленная активация агента является устаревшей и больше не поддерживается. Этот аргумент поддерживается только для обратной совместимости скриптов. Установка remote_agent_server_name для любого значения, отличного от NULL, приводит к ошибке.

[ @dts_package_name = ] 'dts_package_name' Указывает имя пакета служб преобразования данных (DTS). dts_package_name — это имя sysname с значением NULL по умолчанию. Например, для пакета с именем DTSPub_Package необходимо указать @dts_package_name = N'DTSPub_Package'.

[ @dts_package_password = ] 'dts_package_password' Указывает пароль пакета. dts_package_password — sysname с значением NULL по умолчанию, которое указывает, что свойство пароля остается неизменным.

Примечание.

У пакета служб DTS должен быть пароль.

[ @dts_package_location = ] dts_package_location Указывает расположение пакета. dts_package_location является int с значением по умолчанию 0. Если значение равно 0, расположение пакета находится на распространителю. Если значение равно 1, расположение пакета находится на подписчике. Расположение пакета может быть распространителем или подписчиком.

[ @skipobjectactivation = ] skipobjectactivation

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

[ @distribution_job_name = ] 'distribution_job_name' Имя задания распространения. distribution_job_name имеет имя sysname с значением NULL по умолчанию.

[ @publisher = ] 'publisher' Указывает издателя Microsoft SQL Server, отличного от Microsoft SQL Server. publisher имеет имя sysname с значением NULL по умолчанию.

Примечание.

издатель не должен использоваться при изменении свойств статьи на издателе SQL Server.

Значения кода возврата

0 (успешно) или 1 (сбой)

Замечания

sp_changesubstatus используется в реплика моментальных снимков и реплика транзакций.

sp_changesubstatus изменяет состояние подписчика в таблице syssubscriptions с измененным состоянием. При необходимости он обновляет состояние статьи в таблице sysarticles , чтобы указать активную или неактивную. Если это необходимо, он задает флаг реплика tion в таблице sysobjects для реплика таблицы с реплика.

Разрешения

Только члены предопределенных ролей сервера sysadmin , db_owner предопределенных ролей базы данных или создатель подписки могут выполнять sp_changesubstatus.

См. также

sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)
sp_helpdistributor (Transact-SQL)
sp_helpsubscription (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)