更改現(xiàn)有訂閱服務(wù)器的狀態(tài)。此存儲(chǔ)過(guò)程在發(fā)布服務(wù)器的發(fā)布數(shù)據(jù)庫(kù)上執(zhí)行。
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 ]
[ , [ @schemastabilityonly = ] schema_stability_only ]
[ , [ @distribution_job_name = ] 'distribution_job_name' ]
[@publication =] 'publication'
是發(fā)布名。publication 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 %。如果未指定 publication,則表示所有發(fā)布。
[@article =] 'article'
是項(xiàng)目名。該名稱對(duì)于發(fā)布必須唯一。article 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 %。如果未指定 article,則表示所有項(xiàng)目。
[@subscriber =] 'subscriber'
是要更改其狀態(tài)的訂閱服務(wù)器名。subscriber 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 %。如果未指定 subscriber,則所有訂閱服務(wù)器的狀態(tài)都將更改為指定的項(xiàng)目。
[@status =] 'status'
是 syssubscriptions 表中的訂閱狀態(tài)。status 的數(shù)據(jù)類型為 sysname,沒(méi)有默認(rèn)設(shè)置,可以是下列值之一。
值 | 描述 |
---|---|
active | 訂閱服務(wù)器已進(jìn)行同步處理且正接收數(shù)據(jù)。 |
inactive | 沒(méi)有訂閱但存在訂閱服務(wù)器項(xiàng)。 |
subscribed | 訂閱服務(wù)器正請(qǐng)求數(shù)據(jù),但尚未進(jìn)行同步處理。 |
[@previous_status =] 'previous_status'
是訂閱的前一個(gè)狀態(tài)。previous_status 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。該參數(shù)使您得以更改當(dāng)前具有該狀態(tài)的任何訂閱,因此允許在特定的訂閱集上執(zhí)行分組功能(例如,將所有活動(dòng)訂閱設(shè)置回 subscribed 狀態(tài))。
[@destination_db =] 'destination_db'
是目的數(shù)據(jù)庫(kù)名。destination_db 的數(shù)據(jù)類型為 sysname,默認(rèn)值為 %。
[@frequency_type =] frequency_type
是調(diào)度分發(fā)任務(wù)所使用的頻率。frequency_type 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL。如果沒(méi)有為 frequency_type 提供任何值,則 sp_changesubstatus 使用 sp_addsubscriber 所使用的 frequency_type 值。
[@frequency_interval =] frequency_interval
是應(yīng)用于 frequency_type 所設(shè)置頻率的值。frequency_interval 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL。
[@frequency_relative_interval =] frequency_relative_interval
是分發(fā)任務(wù)運(yùn)行的日期。當(dāng) frequency_type 設(shè)置為 32(每月相對(duì)信息)時(shí)使用該參數(shù)。frequency_relative interval 的數(shù)據(jù)類型為 int,可以是下列值之一。
值 | 描述 |
---|---|
1 | 第一個(gè) |
2 | 秒 |
4 | 第三個(gè) |
8 | 第四個(gè) |
16 | 最后一個(gè) |
NULL(默認(rèn)值) |
[@frequency_recurrence_factor =] frequency_recurrence_factor
是 frequency_type 使用的重復(fù)因子。frequency_recurrence_factor 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0。
[@frequency_subday =] frequency_subday
是在定義的周期內(nèi)重新調(diào)度的頻率(以分鐘為單位)。frequency_subday 的數(shù)據(jù)類型為 int,可以是下列值之一。
值 | 描述 |
---|---|
1 | 一次 |
2 | 秒 |
4 | 分鐘 |
8 | 小時(shí) |
NULL(默認(rèn)值) |
[@frequency_subday_interval =] frequency_subday_interval
是 frequency_subday 的間隔。frequency_subday_interval 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL。
[@active_start_time_of_day =] active_start_time_of_day
是第一次調(diào)度分發(fā)任務(wù)的時(shí)間,格式為 HHMMSS。active_start_time_of_day 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL。
[@active_end_time_of_day =] active_end_time_of_day
是停止調(diào)度分發(fā)任務(wù)的時(shí)間,格式為 HHMMSS。active_end_time_of_day 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL。
[@active_start_date =] active_start_date
是第一次調(diào)度分發(fā)任務(wù)的日期,格式為 YYYYMMDD。active_start_date 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL。
[@active_end_date =] active_end_date
是停止調(diào)度分發(fā)任務(wù)的日期,格式為 YYYYMMDD。active_end_date 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 NULL。
[@optional_command_line =] 'optional_command_line'
是可選的命令提示符。optional_command_line 的數(shù)據(jù)類型為 nvarchar(4000),默認(rèn)設(shè)置為 NULL。
[@distribution_jobid =] distribution_jobid
是當(dāng)訂閱狀態(tài)從非活動(dòng)更改為活動(dòng)時(shí),該訂閱在分發(fā)服務(wù)器上的分發(fā)代理程序作業(yè) ID。其它情況下,不定義該作業(yè) ID。如果對(duì)此存儲(chǔ)過(guò)程的單個(gè)調(diào)用中涉及多個(gè)分發(fā)代理程序,則不定義結(jié)果。distribution_jobid 的數(shù)據(jù)類型為 binary(16),默認(rèn)設(shè)置為 NULL。
[@from_auto_sync =] from_auto_sync
僅限內(nèi)部使用。
[@ignore_distributor =] ignore_distributor
僅限內(nèi)部使用。
[@offloadagent = ] remote_agent_activation
指定可以遠(yuǎn)程地激活代理程序。remote_agent_activation 的數(shù)據(jù)類型為 bit,默認(rèn)設(shè)置為 0。0 指定不能遠(yuǎn)程地激活代理程序。而 1 指定可以遠(yuǎn)程地激活代理程序,并且是在 remote_agent_server_name 所指定的遠(yuǎn)程計(jì)算機(jī)上激活。
[@offloadserver = ] 'remote_agent_server_name'
指定用于遠(yuǎn)程激活的服務(wù)器的網(wǎng)絡(luò)名。remote_agent_server_name 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。
[@dts_package_name = ] 'dts_package_name'
指定 DTS 包的名稱。dts_package_name 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。例如,若要指定 DTSPub_Package 包,則該參數(shù)將是 @dts_package_name = N'DTSPub_Package'。
[@dts_package_password = ] 'dts_package_password'
指定如果有密碼,則密碼在包上。dts_package_password 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL,它表示包上沒(méi)有密碼。
[@dts_package_location = ] dts_package_location
指定包的位置。dts_package_location 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0。如果是 0,則表示包位置是在分發(fā)服務(wù)器上。如果是 1,則表示包位置是在訂閱服務(wù)器上。包的位置可以是 distributor 或 subscriber。
[@schemastabilityonly = ] schema_stability_only
僅限內(nèi)部使用。
[@distribution_job_name = ] 'distribution_job_name'
是分發(fā)作業(yè)的名稱。distribution_job_name 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。
0(成功)或 1(失敗)
sp_changesubstatus 用于快照復(fù)制和事務(wù)復(fù)制。
sp_changesubstatus 在 syssubscriptions 表中用已更改的狀態(tài)更改訂閱服務(wù)器的狀態(tài)。如有必要,它將更新 sysarticles 表中的項(xiàng)目狀態(tài)以顯示活動(dòng)或非活動(dòng)。如有必要,它將在 sysobjects 表中將已復(fù)制表的復(fù)制標(biāo)志設(shè)置為 on 或 off。
只有 sysadmin 固定服務(wù)器角色成員、db_owner 固定數(shù)據(jù)庫(kù)角色成員或訂閱創(chuàng)建者才能執(zhí)行 sp_changesubstatus。
相關(guān)文章