• 相关软件
    >sp_changesubstatus 创建者:webmaster 更新时间:2006-02-16 15:51

    更改现有订阅服务器的状态。此存储过程在发布服务器的发布数据库上执行。



    语法


    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'



    是发布名。publication 的数据类型为 sysname,默认设置为 %。如果未指定 publication,则表示所有发布。



    [@article =] 'article'



    是项目名。该名称对于发布必须唯一。article 的数据类型为 sysname,默认设置为 %。如果未指定 article,则表示所有项目。



    [@subscriber =] 'subscriber'



    是要更改其状态的订阅服务器名。subscriber 的数据类型为 sysname,默认设置为 %。如果未指定 subscriber,则所有订阅服务器的状态都将更改为指定的项目。



    [@status =] 'status'



    syssubscriptions 表中的订阅状态。status 的数据类型为 sysname,没有默认设置,可以是下列值之一。
























    描述
    active订阅服务器已进行同步处理且正接收数据。
    inactive没有订阅但存在订阅服务器项。
    subscribed订阅服务器正请求数据,但尚未进行同步处理。



    [@previous_status =] 'previous_status'



    是订阅的前一个状态。previous_status 的数据类型为 sysname,默认设置为 NULL。该参数使您得以更改当前具有该状态的任何订阅,因此允许在特定的订阅集上执行分组功能(例如,将所有活动订阅设置回 subscribed 状态)。



    [@destination_db =] 'destination_db'



    是目的数据库名。destination_db 的数据类型为 sysname,默认值为 %。



    [@frequency_type =] frequency_type



    是调度分发任务所使用的频率。frequency_type 的数据类型为 int,默认设置为 NULL。如果没有为 frequency_type 提供任何值,则 sp_changesubstatus 使用 sp_addsubscriber 所使用的 frequency_type 值。



    [@frequency_interval =] frequency_interval



    是应用于 frequency_type 所设置频率的值。frequency_interval 的数据类型为 int,默认设置为 NULL。



    [@frequency_relative_interval =] frequency_relative_interval



    是分发任务运行的日期。当 frequency_type 设置为 32(每月相对信息)时使用该参数。frequency_relative interval 的数据类型为 int,可以是下列值之一。







































    描述
    1第一个
    2
    4第三个
    8第四个
    16最后一个
    NULL(默认值) 



    [@frequency_recurrence_factor =] frequency_recurrence_factor



    frequency_type 使用的重复因子。frequency_recurrence_factor 的数据类型为 int,默认设置为 0。



    [@frequency_subday =] frequency_subday



    是在定义的周期内重新调度的频率(以分钟为单位)。frequency_subday 的数据类型为 int,可以是下列值之一。


































    描述
    1 一次
    2
    4分钟
    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



    是当订阅状态从非活动更改为活动时,该订阅在分发服务器上的分发代理程序作业 ID。其它情况下,不定义该作业 ID。如果对此存储过程的单个调用中涉及多个分发代理程序,则不定义结果。distribution_jobid 的数据类型为 binary(16),默认设置为 NULL。



    [@from_auto_sync =] from_auto_sync



    仅限内部使用。



    [@ignore_distributor =] ignore_distributor



    仅限内部使用。



    [@offloadagent = ] remote_agent_activation



    指定可以远程地激活代理程序。remote_agent_activation 的数据类型为 bit,默认设置为 0。0 指定不能远程地激活代理程序。而 1 指定可以远程地激活代理程序,并且是在 remote_agent_server_name 所指定的远程计算机上激活。



    [@offloadserver = ] 'remote_agent_server_name'



    指定用于远程激活的服务器的网络名。remote_agent_server_name 的数据类型为 sysname,默认设置为 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_package_location = ] dts_package_location



    指定包的位置。dts_package_location 的数据类型为 int,默认设置为 0。如果是 0,则表示包位置是在分发服务器上。如果是 1,则表示包位置是在订阅服务器上。包的位置可以是 distributorsubscriber



    [@schemastabilityonly = ] schema_stability_only



    仅限内部使用。



    [@distribution_job_name = ] 'distribution_job_name'



    是分发作业的名称。distribution_job_name 的数据类型为 sysname,默认设置为 NULL。



    返回代码值


    0(成功)或 1(失败)



    注释


    sp_changesubstatus 用于快照复制和事务复制。



    sp_changesubstatussyssubscriptions 表中用已更改的状态更改订阅服务器的状态。如有必要,它将更新 sysarticles 表中的项目状态以显示活动或非活动。如有必要,它将在 sysobjects 表中将已复制表的复制标志设置为 on 或 off。



    权限


    只有 sysadmin 固定服务器角色成员、db_owner 固定数据库角色成员或订阅创建者才能执行 sp_changesubstatus

    相关文章
    本页查看次数: