启动对指定项目的数据验证请求。此存储过程在发布服务器的发布数据库上执行。
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。