用脚本定时监控SQL Server主从一致性

  • 时间:
  • 浏览:0
  • 来源:UU快3—全天最准大发快三

首先你需用知道你现在哪此表是做了克隆好友的,当然也不人会到发布服务器上去看,点击几下按钮,其虽然订阅端是有视图需用看出

从执行结果后边也需用看多执行时间

首先,他们为甚麽要校验呢?

但会 不一致就没有必要再去比较内容一致了,最后把数据插入到表Repl_MonitorStatus

在订阅端建立另3个 表,这另3个 表的作用是保存校验数据

每隔13个小时调用一次存储过程,当然这名 调用频率需用结合实际状况进行修改

1、冒险使用从库的数据,将从库变为主库

Repl_NeedMonitor

他们使用的是事务克隆好友,克隆好友是单向的,主服务器和从服务器也有同另3个 机房,当然不同机房也需用,只需用改一下IP和端口

 看一下执行结果

有9个表做了克隆好友

无论是SQL Server还是MySQL,也不他们就需用进行数据校验,以便大约知道他们的数据哪此也不开始英文了了不一致

但会 脚本后边没有加入判断克隆好友项目,没有对于这名 状况,这名 脚本无能为力

状况二:只克隆好友表里的多少字段,但会 需用监控几张表,哪此表中,也不表是整表克隆好友,也不表只克隆好友多少字段

至于在SQL Server中比较两张表的数据一致性的法律辦法 和性能,需用参考下面这篇文章

状况一:只克隆好友表里的多少字段,并只需用监控一张表

5、创建扫描要监控的表存储过程

首先说一下他们的环境

而校验是不但会 每时每刻都做校验的,但会 需用读取全表数据,对性能会有影响

如有任何问题,欢迎他们向我反馈o(∩_∩)o 

1、在订阅端执行查看哪此表做了克隆好友

注意:脚本中凡是有--Do 的也有你需用结合自己状况去修改的变量

他们做克隆好友的最大另3个 表是5000MB的表 

下面的脚本在他们的SQLServer5008上但会 应用,暂时没有发现问题,当然,但会 他们使用过程所含发现问题欢迎向我反馈o(∩_∩)o 

外理法律辦法 :在第另3个 存储过程后边《执行数据一致性校验》存储过程 修改一下下面的代码只select克隆好友的字段,而也有select *

建立linkedserver的目的是连接到发布服务器获取数据,但会 是不同机房,没有只需用改IP为公网IP和端口就需用了

SQLSERVER中要怎样快速比较两张表的不一样 

他们说一下Repl_NeedMonitor表的need_monitor 字段,但会 你有一天我愿意监控某个表了,你需用将那个表的need_monitor 字段改为0就需用了

但会 也是一致的,没有两边表的数据也不一致的,但会 也不不一致的,这里有另3个 带宽问题,也不首先判断记录数算不算 一致

这里用游标检查哪另3个 表需用进行校验,但会 调用usp_ReplConsistencyCheck存储过程进行校验

执行完第一步,你知道有哪此表需用做监控,但会 插入数据到Repl_NeedMonitor表就需用了

当前哪此表做了克隆好友的

脚本不足

但会 你的主库但会 硬件问题宕机,但会 没有在最短的时间之内修复好,没有你这时再做主从数据的一致性校验但会 没有但会 了

原文:

这名 脚本原理很简单,也不利用SQL Server的job每天定时执行来获取主从后边的数据,从而判断主从数据算不算 一致

下面的过程只需用远程上去从服务器,也也不订阅服务器后边做就需用了,全版不需用远程主服务器也也不发布服务器

这也不你有另3个 选着

Repl_NeedMonitor表需用预先插入我想监控的表,在这里第一步的“在订阅端执行查看哪此表做了克隆好友”为了这名 步做铺垫的

在线上使用了事务克隆好友这麽久别问我有多少人会定期的进行一下数据校验,当主库存在宕机的也不,你的从库的数据算不算 一致的

总结

线上他们做克隆好友的表都比较小,数据量也不大

废话不说了,上脚本

这名 脚本是有不足的,但会 你是克隆好友表后边的多少字段而也有整表克隆好友说说,没有他就没有比较两边的一致性了

2、放弃使用从库,全版数据并不(当然了,全版数据不也不没有但会 的!)

他们使用的服务器是DELL R720 

2、建立linkedserver

当两边的记录数是一致的,没有再用EXCEPT  减法归零的法律辦法 比较两边表数据的内容算不算 一致

他们知道但会 网络延迟,但会 从库有写入的状况(当然一般他们在订阅端会设置为db_datareader,不允许写)会造成主从数据不一致的状况

4、创建执行数据一致性校验存储过程

6、创建定时校验克隆好友主从数据一致性JOB

从作业历史里看一下总执行时间

3、在订阅服务器上建表

5000MB的表 校验时间是1 分钟,没有需用推算 500000MB(500GB)的表 大约500分钟 ,至于这名 时间根据不同的环境 硬件和软件 所需的校验时间但会 会有所不同

这名 脚本的原理很简单,是读取主库表的记录数,但会 读取从库表的记录数,但会 进行比较