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

    筛选将基于表项目发布的数据。此存储过程只能修改没有订阅的项目。此存储过程在发布服务器的发布数据库上执行。



    语法


    sp_articlefilter [ @publication = ] 'publication'

        , [ @article = ] 'article'

        [ , [ @filter_name = ] 'filter_name' ]

        [ , [ @filter_clause = ] 'filter_clause']

        [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]

        [ , [ @force_reinit_subscription = ] force_reinit_subscription ]



    参数


    [@publication =] 'publication'



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



    [@article = ]'article'



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



    [@filter_name =] 'filter_name'



    是要从 filter_name 创建的筛选存储过程名。filter_name 的数据类型为 nvarchar(386),默认设置为 NULL。



    [@filter_clause =] 'filter_clause'



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



    [@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_article_filter 用于快照复制和事务复制。



    sp_articlefilter 创建筛选,在 sysarticles 表的 filter 列中插入筛选存储过程的 ID,然后在 filter_clause 列中插入限制子句的文本。



    若要创建带水平筛选的项目,请不带 filter 参数执行 sp_addarticle。执行 sp_articlefilter,并提供包括 filter_clause 在内的所有参数,然后执行 sp_articleview,并提供包括相同的 filter_clause 在内的所有参数。如果该筛选已存在,而且 sysarticles 中的 type 为 1(基于日志的项目),则删除以前的筛选并创建新筛选。



    如果未提供 filter_namefilter_clause,则删除以前的筛选并将筛选 ID 设置为 0。



    权限


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

    相关文章
    本页查看次数: