Transact-SQL 参考

sp_article_validation

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

语法

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 ]

参数

[@publication =] 'publication'

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

[@article = ]'article'

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

[@rowcount_only =] type_of_check_requested

指定是否仅返回表的行数。. type_of_check_requested 的数据类型为 smallint,默认设置为 1。如果为 0,则执行 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

仅限内部使用。

返回代码值

0(成功)或 1(失败)

注释

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

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

权限

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

请参见

sp_marksubscriptionvalidation

sp_publication_validation

sp_table_validation

系统存储过程