zabbix 6.2 MSSQL-ODBC 查锁数量及最大锁ID

文章提供了两个SQL查询语句,用于在Zabbix6.2的MSSQLODBC模板中监控数据库死锁情况。第一个查询返回死锁最多的SPID,第二个查询提供每秒的死锁数量。这些监控项可以通过ODBC连接获取数据,并可进一步用于Zabbix的数据库监控,帮助识别和管理SQLServer的性能问题。
摘要由CSDN通过智能技术生成

适用于zabbix6.2 模版MSSQL by ODBC 里创建数据库监控项的语句。

语句来源sp_lock存储过程中,简单的改了一下。

语句一、查询死锁最多的死锁ID

select top 1 req_spid,count(req_spid) as Maxnum

from master.dbo.syslockinfo,

master.dbo.spt_values v,

master.dbo.spt_values x,

master.dbo.spt_values u

where master.dbo.syslockinfo.rsc_type = v.number

and v.type = 'LR'

and master.dbo.syslockinfo.req_status = x.number

and x.type = 'LS'

and master.dbo.syslockinfo.req_mode + 1 = u.number

and u.type = 'L'

group by master.dbo.syslockinfo.req_spid

order by Maxnum desc

注: 在zabbix监控项“键值”为(db.odbc.get[sp_lock-maxPID,"{$MSSQL.DSN}"])得到值为“文本”“[{"req_spid":"146","Maxnum":"86"}]” 这个监控项最好设置为数据库监控,可以再次使用相关项将spid提取出来,创建最大死锁数进程spid监控项

语句二、- 每秒死锁数量

select count(req_spid)

from master.dbo.syslockinfo,

master.dbo.spt_values v,

master.dbo.spt_values x,

master.dbo.spt_values u

where master.dbo.syslockinfo.rsc_type = v.number

and v.type = 'LR'

and master.dbo.syslockinfo.req_status = x.number

and x.type = 'LS'

and master.dbo.syslockinfo.req_mode + 1 = u.number

and u.type = 'L'

注:在zabbix监控项“键值”为(db.odbc.select[sp_lock,"{$MSSQL.DSN}"])得到值为“整数”,可直接作为监控项使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值