sp_article_validation (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。
请参阅
参考
sp_marksubscriptionvalidation (Transact-SQL)
sp_publication_validation (Transact-SQL)
sp_table_validation (Transact-SQL)
系统存储过程 (Transact-SQL)