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

    在垂直或水平筛选表时创建项目的同步对象。该同步对象是一个视图,用作目的表的架构和数据的筛选源。只有未订阅项目才能由此存储过程修改。此存储过程在发布服务器的发布数据库上执行。



    语法


    sp_articleview [ @publication = ] 'publication'

        , [ @article = ] 'article'

        [ , [ @view_name = ] 'view_name']

        [ , [ @filter_clause = ] 'filter_clause']

        [ , [ @change_active = ] change_active ]

        [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]

        [ , [ @force_reinit_subscription = ] force_reinit_subscription ]



    参数


    [@publication =] 'publication'



    是包含该项目的发布名。publication 的数据类型为 sysname,没有默认设置。



    [@article = ] 'article'



    是项目名。article 的数据类型为 sysname,没有默认设置。



    [@view_name =] 'view_name'



    是同步对象名。view_namenvarchar(386) 类型,默认设置为 NULL。



    [@filter_clause =] 'filter_clause'



    是定义水平筛选的 (WHERE) 限制子句。当输入限制子句时,省略 WHERE 关键字。filter_clause 的数据类型为 ntext,默认设置为 NULL。



    [@change_active = ] change_active



    允许修改包含订阅的发布中的列。change_active 的数据类型为 int,默认设置为 0。如果是 0,则表示将不更改列。如果是 1,则表示可以在有订阅的活动项目上创建或重新创建视图。



    [@force_invalidate_snapshot = ] force_invalidate_snapshot



    确认此存储过程采取的操作可能使现有快照无效。force_invalidate_snapshot 的数据类型为 bit,默认设置为 0。0 指定对项目的更改不会导致快照无效。如果存储过程检测到更改确实需要新快照,则会发生错误,且不会进行任何更改。而 1 指定对项目所做的更改可能导致快照无效,而且如果现有订阅需要新的快照,则提供适当的权限,使现有快照被标记为废弃并生成新快照。



    [@force_reinit_subscription = ] force_reinit_subscription



    确认此存储过程采取的操作可能要求重新初始化现有的订阅。force_reinit_subscription 的数据类型为 bit,默认设置为 0。0 指定对项目的更改不会导致重新初始化订阅。如果存储过程检测到更改需要重新初始化订阅,则会发生错误,且不会进行任何更改。而 1 指定对项目的更改将导致重新初始化现有的订阅,且提供使订阅重新初始化发生的权限。



    返回代码值


    0(成功)或 1(失败)



    注释


    sp_articleview 创建视图并在 sysarticles 表的 sync_objid 列中插入同步对象(视图)的 ID,并且在 filter_clause 列中插入同步对象(视图)的 ID。如果所有列均已复制并且没有 filter_clause,则 sysarticles 表中的 sync_objid 设置为基表的 ID,并且无需使用 sp_articleview



    若要发布垂直筛选表(即筛选列),请首先不使用 sync_object 参数运行 sp_addarticle,为要复制的每一列都运行一次 sp_articlecolumn(定义垂直筛选),然后运行 sp_articleview 创建同步对象。



    若要发布水平筛选表(即筛选行),请不使用 filter 参数运行 sp_addarticle。接着运行 sp_articlefilter,并提供包括 filter_clause 在内的全部参数。然后运行 sp_articleview,并提供包括相同的 filter_clause 在内的全部参数。



    若要发布垂直筛选和水平筛选的表,请不带 sync_objectfilter 参数运行 sp_addarticle。对要复制的每列运行一次 sp_articlecolumn,然后运行 sp_articlefiltersp_articleview



    如果项目已经有同步对象(视图),则 sp_articleview 除去现有视图并自动创建新视图。如果视图是手动创建的(sysarticles 中的type 是 5),则不除去现有的视图。



    如果手工地创建自定义筛选存储过程和同步对象,则不运行 sp_articleview。相反,将它们作为 filtersync_object 参数,与适当的 type 值一起提供给 sp_addarticle



    权限


    只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_articleview

    相关文章
    本页查看次数: