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 , чтобы указать активную или неактивную. При необходимости он задает флаг репликации в таблице sysobjects для реплицированной таблицы.
Разрешения
Только члены предопределенных ролей сервера sysadmin , db_owner предопределенных ролей базы данных или создатель подписки могут выполнять sp_changesubstatus.
См. также
sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)
sp_helpdistributor (Transact-SQL)
sp_helpsubscription (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру