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

  • 时间:
  • 浏览:0

2、建立linkedserver

清况 二:只克隆好友表里的多少字段,如保让都都能不能监控几张表,哪些表中,如保让 表是整表克隆好友,如保让 表只克隆好友多少字段

你如保让 脚本原理很简单,而是利用SQL Server的job每天定时执行来获取主从上端的数据,从而判断主从数据是是否一致

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

.我歌词 做克隆好友的最大一一一俩个 表是300MB的表 

下面的脚本在.我歌词 的SQLServer308上肯能应用,暂时没办法 发现现象,当然,肯能.我歌词 使用过程所含发现现象欢迎向我反馈o(∩_∩)o 

执行完第一步,你知道哪些表都都能不能做监控,如保让插入数据到Repl_NeedMonitor表就都都能不能了

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

如有任何现象,欢迎.我歌词 向我反馈o(∩_∩)o 

注意:脚本中凡是有--Do 的没办法 你都都能不能结合我本人清况 去修改的变量

清况 一:只克隆好友表里的多少字段,并只都都能不能监控一张表

我知道你一下Repl_NeedMonitor表的need_monitor 字段,肯能你有一天让你监控某个表了,你都都能不能将那个表的need_monitor 字段改为0就都都能不能了

.我歌词 使用的是事务克隆好友,克隆好友是单向的,主服务器和从服务器删改都是同一一一俩个 机房,当然不同机房也都都能不能,只都都能不能改一下IP和端口

300MB的表 校验时间是1 分钟,没办法 都都能不能推算 3000MB(30GB)的表 合适30分钟 ,至于你如保让 时间根据不同的环境 硬件和软件 所需的校验时间肯能会有所不同

有9个表做了克隆好友

废话不说了,上脚本

.我歌词 使用的服务器是DELL R720 

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

建立linkedserver的目的是连接到发布服务器获取数据,肯能是不同机房,没办法 只都都能不能改IP为公网IP和端口就都都能不能了

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

.我歌词 知道肯能网络延迟,肯能从库有写入的清况 (当然一般.我歌词 在订阅端会设置为db_datareader,不允许写)会造成主从数据不一致的清况

你如保让 脚本是有严重不足的,肯能你是克隆好友表上端的多少字段而删改都是整表克隆好友搞笑的话,没办法 他就必须比较两边的一致性了

这而是你有一一俩个 确定

SQLSERVER中如保快速比较两张表的不一样 

这里用游标检查哪一一一俩个 表都都能不能进行校验,如保让调用usp_ReplConsistencyCheck存储过程进行校验

总结

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

在线上使用了事务克隆好友这麽久不知道有多少人会定期的进行一下数据校验,当主库发生宕机的而是,你的从库的数据是是否一致的

肯能你的主库肯能硬件现象宕机,如保让必须在最短的时间之内修复好,没办法 你这时再做主从数据的一致性校验肯能没办法 肯能了

Repl_NeedMonitor

线上.我歌词 做克隆好友的表都比较小,数据量而是大

从执行结果上端也都都能不能看到执行时间

 看一下执行结果

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

首先说一下.我歌词 的环境

2、放弃使用从库,删改数据并非(当然了,删改数据不而是没办法 肯能的!)

你如保让 脚本的原理很简单,是读取主库表的记录数,如保让读取从库表的记录数,如保让进行比较

每隔1俩个小时调用一次存储过程,当然你如保让 调用频率都都能不能结合实际清况 进行修改

原文:

无论是SQL Server还是MySQL,而是.我歌词 就都都能不能进行数据校验,以便合适知道.我歌词 的数据哪些而是开始了了不一致

首先你都都能不能知道你现在哪些表是做了克隆好友的,当然如保让 人会到发布服务器上去看,点击几下按钮,其我我人太好订阅端是有视图都都能不能看出

首先,.我歌词 缘何麽要校验呢?

当两边的记录数是一致的,没办法 再用EXCEPT  减法归零的法律最好的法律法律依据比较两边表数据的内容是是否一致

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

肯能脚本上端没办法 加入判断克隆好友项目,没办法 对于你如保让 清况 ,你如保让 脚本无能为力

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

肯能不一致就没办法 必要再去比较内容一致了,最后把数据插入到表Repl_MonitorStatus

下面的过程只都都能不能远程上去从服务器,也而是订阅服务器上端做就都都能不能了,删改必须远程主服务器也而是发布服务器

肯能也是一致的,没办法 两边表的数据而是一致的,如保让而是不一致的,这里有一一一俩个 效率单位现象,而是首先判断记录数是是否一致

至于在SQL Server中比较两张表的数据一致性的法律最好的法律法律依据和性能,都都能不能参考下面这篇文章

正确处理法律最好的法律法律依据:在第一一一俩个 存储过程上端《执行数据一致性校验》存储过程 修改一下下面的代码只select克隆好友的字段,而删改都是select *

3、在订阅服务器上建表

Repl_NeedMonitor表都都能不能预先插入我想监控的表,在这里第一步的“在订阅端执行查看哪些表做了克隆好友”为了你如保让 步做铺垫的

脚本严重不足

在订阅端建立一一俩个 表,你如保让 一俩个 表的作用是保存校验数据