一直多从
从库为149 154 48 207
分别在主库上创建链接数据库
sql149 sql154 sql48 sql207
创建发布的时候,自定义一个监控表test_sqlcopy
创建存贮过程,同步正确返回 1,不同步返回0
SET ANSI_NulLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[check_sync]
as
begin
declare @result int
declare @num int
declare @num154 varchar(20)
declare @num149 varchar(20)
declare @num48 varchar(20)
declare @num207 varchar(20)
select @num=cast( floor(rand()*10) as int)
update test_sqlcopy set [name]=@num
WAITFOR DELAY '00:00:3'
select @num154=name from sql154.card.dbo.test_sqlcopy
select @num149=name from sql154.card.dbo.test_sqlcopy
select @num48=name from sql154.card.dbo.test_sqlcopy
select @num207=name from sql154.card.dbo.test_sqlcopy
if (@num154=@num and @num149=@num and @num48=@num and @num207=@num)
select @result=1
else
select @result=0
return @result
end
nagios监控脚本
@sqlcmd -S SVCTAG-3YGZ43X -d card -W -Q "declare @res int exec @res=check_sync select @res"|findstr "^[1-9]" >nul 2>nul
@if %ERRORLEVEL% == 1 (
@echo SYNC IS OK - SYNC is ok !
@exit 0) else (
@echo SYNC Critical - SYNC have a error!!!
@exit 2)
@pause
基本延迟为5秒
总结以上是内存溢出为你收集整理的nagios监控sqlserver复制同步全部内容,希望文章能够帮你解决nagios监控sqlserver复制同步所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)