在 transactional replication troubleshooting 的过程中,经常会遇到下面的场景: 客户在发布端执行了一个几百万行的更新,结果导致性能下降。 客户很想知道目前 distribution agent 的进度,完成的百分比,决定是等下去还是跳过这个过程。如果已经完成了 9
在transactional replication troubleshooting的过程中,服务器空间,经常会遇到下面的场景:
客户在发布端执行了一个几百万行的更新,结果导致性能下降。 客户很想知道目前distribution agent的进度,香港虚拟主机,完成的百分比,决定是等下去还是跳过这个过程。如果已经完成了90%,那么贸然停止就非常可惜了,并且rollback的操作也是要很长时间的。
下面介绍如何查看进度。
对比结果就可以知道进度了。

如果没有启用verbose log,就比较麻烦了,下面是具体的步骤。
找到相应的distribution agent 名称和publisher_database_id
select *From distribution..msdistribution_agents
通过名称就可以找到distribution agent进行的process id. 在distributor上执行下面的语句。
WTS工作跟进系统的主要功能及特色: 1、符合通用标准的任务跟踪功能。可广泛用于重点工作跟进,督查任务跟进、工作督办、会议纪要决议跟进、领导交办工作跟进、团队协作任务跟进、日工作计划、周工作计划、月度工作计划跟进、项目进度管理软件与跟踪软件,提升团队执行力。 2、工作便签、自定义群组功能、工作授权、工作交接、下级工作任务查看。 3、绩效考核功能:系统提供KPI考核和目标管理考核(MBO),可
880
select hostprocess from sys.sysprocesses where program_name=@mergeAgentName
根据这个存储过程,我们可以得到相应的aritlce_id。
select transaction_timestamp,* From MSreplication_subscriptions where distribution_agent=@distribution_agent
接下来就可找到distribution agent当前正在执行的xact_seqno了. 将第一步得到的publisher_database_id,第5步得到的article_id和上一步得到的xact_seqno带入下面的查询
select xact_seqno,count(*) as number From distribution..msrepl_commands with(nolock)
where publisher_database_id=@publisher_database_id and article_id=@article_id
xact_seqno>@xact_seqno group by xact_seqno order by xact_seqno
顺序靠前,并且number较大的就是正在执行的事务了。 您可能会问,为什么不是第六步得到的xact_seqno的下一个呢(select min(xact_seqno)From distribution..msrepl_commands with(nolock)where publisher_database_id=@publisher_database_id and xact_seqno>@xact_seqno).

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号