如何验证订阅服务器中的数据(复制 Transact-SQL 编程)

本文介绍如何使用SQL Server的存储过程来验证复制数据的一致性,包括事务发布和合并发布的不同验证方法,以及如何通过合并代理参数进行验证。

通过复制,可以使用复制存储过程以编程方式验证订阅服务器中的数据与发布服务器中的数据是否匹配,使用的过程取决于复制拓扑的类型。

验证事务发布中所有项目的数据

  1. 在发布服务器上,对发布数据库执行 sp_publication_validation (Transact-SQL)。 指定 @publication 并为 @rowcount_only 指定以下值之一:

    • 1 - 只检查行计数(默认值)

    • 2 - 行计数和二进制校验和。

    注意注意

    执行 sp_publication_validation (Transact-SQL) 时,将对发布中的每个项目都执行 sp_article_validation (Transact-SQL)。 若要成功地执行 sp_publication_validation (Transact-SQL),必须对发布的基表中的所有列拥有 SELECT 权限。

  2. (可选)如果分发代理尚未运行,请为每个订阅都启动分发代理。 有关详细信息,请参阅如何同步请求订阅(复制编程)如何同步推送订阅(复制编程)

  3. 检查代理输出以获取验证结果。 有关详细信息,请参阅验证已复制的数据

验证事务发布中单个项目的数据

  1. 在发布服务器上,对发布数据库执行 sp_article_validation (Transact-SQL)。 指定 @publication、为 @article 指定项目名称并为 @rowcount_only 指定以下值之一:

    • 1 - 只检查行计数(默认值)

    • 2 - 行计数和二进制校验和。

    注意注意

    若要成功执行 sp_article_validation (Transact-SQL),必须对发布的基表中的所有列拥有 SELECT 权限。

  2. (可选)如果分发代理尚未运行,请为每个订阅都启动分发代理。 有关详细信息,请参阅如何同步请求订阅(复制编程)如何同步推送订阅(复制编程)

  3. 检查代理输出以获取验证结果。 有关详细信息,请参阅验证已复制的数据

验证订阅事务发布的单个订阅服务器的数据

  1. 在发布服务器的发布数据库中,使用 BEGIN TRANSACTION (Transact-SQL) 打开一个显式事务。

  2. 在发布服务器上,对发布数据库执行 sp_marksubscriptionvalidation (Transact-SQL)。 为 @publication 指定发布,为 @subscriber 指定订阅服务器的名称,并为 @destination_db 指定订阅数据库的名称。

  3. (可选)对每个要验证的订阅都重复步骤 2。

  4. 在发布服务器上,对发布数据库执行 sp_article_validation (Transact-SQL)。 指定 @publication、为 @article 指定项目名称并为 @rowcount_only 指定以下值之一:

    • 1 - 只检查行计数(默认值)

    • 2 - 行计数和二进制校验和。

    注意注意

    若要成功执行 sp_article_validation (Transact-SQL),必须对发布的基表中的所有列拥有 SELECT 权限。

  5. 在发布服务器的发布数据库中,使用 COMMIT TRANSACTION (Transact-SQL) 提交事务。

  6. (可选)为每个要验证的项目都重复步骤 1 到步骤 5。

  7. (可选)如果分发代理尚未运行,请启动分发代理。 有关详细信息,请参阅如何同步请求订阅(复制编程)如何同步推送订阅(复制编程)

  8. 检查代理输出以获取验证结果。 有关详细信息,请参阅如何在订阅服务器上验证数据 (SQL Server Management Studio)

验证合并发布的所有订阅中的数据

  1. 在发布服务器上,对发布数据库执行 sp_validatemergepublication (Transact-SQL)。 指定 @publication 并为 @level 指定以下值之一:

    • 1 - 只验证行计数。

    • 3 - 行计数二进制校验和验证。

    这样会标记所有订阅以便验证。

  2. 启动每个订阅的合并代理。 有关详细信息,请参阅如何同步请求订阅(复制编程)如何同步推送订阅(复制编程)

  3. 检查代理输出以获取验证结果。 有关详细信息,请参阅如何在订阅服务器上验证数据 (SQL Server Management Studio)

验证订阅合并发布的所选订阅中的数据

  1. 在发布服务器上,对发布数据库执行 sp_validatemergesubscription (Transact-SQL)。 指定 @publication,为 @subscriber 指定订阅服务器的名称,为 @subscriber_db 指定订阅数据库的名称,并为 @level 指定以下值之一:

    • 1 - 只验证行计数。

    • 3 - 行计数二进制校验和验证。

    这样会标记所选订阅以便验证。

  2. 启动每个订阅的合并代理。 有关详细信息,请参阅如何同步请求订阅(复制编程)如何同步推送订阅(复制编程)

  3. 检查代理输出以获取验证结果。

  4. 为每个要验证的订阅重复步骤 1 到步骤 3。

注意注意

通过在运行 复制合并代理 时指定 -Validate 参数还可以在同步结束时验证对合并发布的订阅。

使用合并代理参数验证订阅中的数据

  • 通过以下方式之一从命令提示符下启动订阅服务器(请求订阅)或分发服务器(推送订阅)上的合并代理。

    • -Validate 参数指定值 1(行计数)或 3(行计数和二进制校验和)。

    • -ProfileName 参数指定 rowcount validation rowcount and checksum validation

    有关详细信息,请参阅如何同步请求订阅(复制编程)如何同步推送订阅(复制编程)

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值