SQL SERVER中如何监控复制并使用数据库邮件功能发告警邮件2014-08-14上个月月底的时候因为要搬迁机房,需要将一个数据信息数据库先搬到我们的机房,然后将客户的数据库从原来的机房A搬到机房B,原来我们的
数据信息库(DataInfo)是放在机房A的,但是为了以后方便和防止信息泄露就放到我们的托管机房,这里叫机房C

在搬迁机房的时候,尽量减少宕机时间,数据不能丢,搬迁机房真是一门学问。。。虽然这麽忙,但我还是把写文章的时间腾出来,把干货分享给大家o(∩_∩)o因为很多系统都在读写机房A的
数据信息库(DataInfo),我在上个月底的时候用备份文件初始化的方式搭建好复制把机房A的机房A的
数据信息库(DataInfo)新插入的数据实时复制到机房C,先让一部分系统能读取机房C的
数据信息库(DataInfo),等以后搬迁完所有系统之后再统一全部改连接地址当然这篇文章不是讲我这次的搬迁过程,在搭建好复制之后,由于我没有设置订阅库的登录用户的权限为只读,导致前几天开发那边同时把新数据插入到订阅库,导致复制失败(主键重复),分发命令积压(大概26w+条命令未分发),然后一大堆后续工作。。。。。。复制的坑其实挺多的,因为我们不可能24小时用肉眼盯着复制监视器,所以我们需要一些监控手段,当遇到复制出错的时候可以尽快知道然后进行修复监控考虑的条件:(1)单个点监控、多个点监控(2)购买、自己开发(3)比较实时、不是很实时(4)数据库服务器是否负载过高我这里只考虑最简单的一种:单个点的,不需要很实时,负载不高,如果服务器负载过高有可能连邮件也发不出了然后就考虑到使用SQLSERVER自带的数据库邮件来发告警邮件当然,如果需要同时满足实时、多个点监控、成本足够可以考虑购买成熟的解决方案例如:微软的System Center 2012 R2又或者自己公司开发监控程序,支持短信告警更加及时