怎样实时监控sqlserver数据库内记录的变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样实时监控sqlserver数据库内记录的变化相关的知识,希望对你有一定的参考价值。

写一个存储过程,对表中的所有可否退回字段的值进行判断,如果为1,则对该项中审核时间和当前时间进行判断,如果相差15天就将可否退回改为0

这个存储过程用代理中的作业每天定时进行操作

这里有如果设置定时作业的方法

http://www.codesky.net/article/201007/145776.html

第一种,刚刚下载玩SQL SERVER 2008,还没有进行任何操作(任何操作的意思就是根本没打开过安装文件);

第二种,已经尝试过安装,并且按照向导进行了支持文件的安装。第一种,这种情况我没试,因为我自己不符合这种情况……不过看样子很简单,按键盘WIN+R弹出运行对话框,输入CMD运行,打开命令行对话框,进入到SQL SERVER 2008的安装根目录的路径,然后输入setup.exe /INSTALLSHAREDDIR="D:\\\\Program Files\\\\Microsoft SQL Server\\\\" /INSTALLSHAREDWOWDIR="D:\\\\Program Files (x86)\\\\Microsoft SQL Server\\\\"

参考技术A 使用SQLServer 2008的CDC功能实现数据变更捕获
http://blog.csdn.net/dba_huangzj/article/details/8130448
详细可以参考这个,有图解教程,希望可以帮到你本回答被提问者采纳

MSSQL/WMI/PowerShell结合篇SQL Server镜像状态变化实时告警

       本文介绍SQL Server镜像状态变化实时告警,利用WMI Monitor实时监控镜像状态,在状态发生变化时捕获相关信息,通过PowerShell发送微信信息,以达到实时告警的目的。


1、创建WMI监控

DATABASE_MIRRORING_STATE_CHANGE 为镜像状态变化信息表,通过WQL语句可以获取相关镜像状态变化详细信息,参考《MSSQL/WMI/PowerShell结合篇(二)创建WMI监控》


核心代码片段

EventFilter

${Query}= "select * from DATABASE_MIRRORING_STATE_CHANGE";


Consumer

${Text} ="数据库镜像告警`nServerName:=%ComputerName%`nInstance:=%SQLInstance%`nDatabase:=%DatabaseName%`nState:="

$Text2="%State%"


2、PowerShell远程调用

当镜像状态发生变化时,Consumer触发执行PowerShell脚本动作,在被触发脚本中调用外网服务器的发送微信脚本,参考《MSSQL/WMI/PowerShell结合篇(三)执行PowerShell远程脚本》



3、PowerShell发送微信信息

实时发送微信信息,参考《MSSQL/WMI/PowerShell结合篇(四)PowerShell发送微信信息》


核心代码片段

镜像状态

$Mirror_State=$(switch($Text2)

{0 {"Mirroring-Session-is-Started`n"}

1 {"Synchronized-Principal-with-Witness`n"}

2 {"Synchronized-Principal-without-Witness`n"}

3 {"Synchronized-Mirror-with-Witness`n"}

4 {"Synchronized-Mirror-without-Witness`n"}

5 {"Connection-with-Principal-Lost`n"}

6 {"Connection-with-Mirror-Lost`n"}

7 {"Manual-Failover`n"}

8 {"Automatic-Failover`n"}

9 {"Mirroring-Suspended`n"}

10 {"No-Quorum`n"}

11 {"Synchronizing-Mirror`n"}

12 {"Principal-Running-Exposed`n"}

13 {"Synchronizing-Principal`n"}});



告警示例:

技术分享


本文出自 “aimax” 博客,请务必保留此出处http://aimax.blog.51cto.com/11610508/1970526

以上是关于怎样实时监控sqlserver数据库内记录的变化的主要内容,如果未能解决你的问题,请参考以下文章

实时备份

MSSQL/WMI/PowerShell结合篇SQL Server镜像状态变化实时告警

使用Binlog+FlinkCDC实时监控数据

当数据库(Oracle)中的某一个表的某行记录有更新时,怎样及时的通知应用程序。

mysql数据库数据变化实时监控

mysql数据库数据变化实时监控