sp_article_validation (Transact-SQL)

启动对指定项目的数据验证请求。 此存储过程在发布服务器中针对发布数据库执行,或在订阅服务器中针对订阅数据库执行。

主题链接图标Transact-SQL 语法约定

语法

sp_article_validation [ @publication = ] 'publication'
    [ , [ @article = ] 'article' ]
    [ , [ @rowcount_only = ] type_of_check_requested ]
    [ , [ @full_or_fast = ] full_or_fast ]
    [ , [ @shutdown_agent = ] shutdown_agent ]
    [ , [ @subscription_level = ] subscription_level ]
    [ , [ @reserved = ] reserved ]
    [ , [ @publisher = ] 'publisher' ]

参数

  • [ @publication=] 'publication'
    包含该项目的发布的名称。publication 的数据类型为 sysname,无默认值。

  • [ @article = ] 'article'
    要验证的项目的名称。article 的数据类型为 sysname,无默认值。

  • [ @rowcount_only=] type_of_check_requested
    指定是否只返回表的行计数。type_of_check_requested 的数据类型为 smallint,默认值为 1

    如果为 0,则执行行计数和与 Microsoft SQL Server 7.0 兼容的校验和。

    如果为 1,则只执行行计数检查。

    如果为 2,则执行行计数和二进制校验和。

  • [ @full_or_fast=] full_or_fast
    用于计算行计数的方法。full_or_fast 的数据类型为 tinyint,可以是下列值之一。

    说明

    0

    用 COUNT(*) 执行完整计数。

    1

    sysindexes.rows 执行快速计数。 在 sysindexes 中对行进行计数比在实际表中计数快。 但由于 sysindexes 为惰性更新,因此行计数可能不准确。

    2(默认值)

    首先尝试使用快速方法执行条件性快速计数。 如果快速方法显示出差异,则转而使用完整方法。 如果 expected_rowcount 的值为 NULL,而且正在使用存储过程获取该值,则始终使用完整 COUNT(*)。

  • [ @shutdown_agent=] shutdown_agent
    指定是否应该在完成验证之后立即关闭分发代理。shutdown_agent 的数据类型为 bit,默认值为 0。 如果为 0,则不关闭分发代理。 如果为 1,则在验证项目之后关闭分发代理。

  • [ @subscription_level=] subscription_level
    指定是否由订阅服务器集来拾取验证。subscription_level 的数据类型为 bit,默认值为 0。 如果为 0,则将验证应用于所有订阅服务器。 如果为 1,则仅将验证应用于订阅服务器子集(通过在当前打开的事务中调用 sp_marksubscriptionvalidation 而指定)。

  • [ @reserved= ] reserved
    标识为仅供参考。不提供支持。不保证以后的兼容性。

  • [ @publisher= ] 'publisher'
    指定一个非 Microsoft SQL Server 发布服务器。publisher 的数据类型为 sysname,默认值为 NULL。

    注意注意

    当请求对 SQL Server 发布服务器进行验证时不应该使用发布服务器。

返回代码值

0(成功)或 1(失败)

注释

sp_article_validation 用于事务复制。

sp_article_validation 使在指定的项目上聚集验证信息并向事务日志发布验证请求。 分发代理接收到该请求后,将该请求中的验证信息与订阅服务器表进行比较。 验证的结果显示在复制监视器和 SQL Server 代理警报中。

权限

只有对所验证项目的源表具有 SELECT ALL 权限的用户才能执行 sp_article_validation