怎么监控sql server数据库记录被批量更新

怎么监控sql server数据库记录被批量更新,第1张

监控sql server数据库记录批量更新的方法是利用触发器记录更新历史。

在sql server中惊醒dml *** 作可以建立插入或者更新的触发器:

update更新类型触发器

if (object_id('tgr_classes_update', 'TR') is not null)

drop trigger tgr_classes_update

go

create trigger tgr_classes_update

on classes

for update

as

declare @oldName varchar(20), @newName varchar(20)

--更新前的数据

select @oldName = name from deleted

if (exists (select * from student where name like '%'+ @oldName + '%'))

begin

--更新后的数据

select @newName = name from inserted

update student set name = replace(name, @oldName, @newName) where name like '%'+ @oldName + '%'

print '级联修改数据成功!'

end

else

print '无需修改student表!'

go

一般需要监控以下指标:

1) SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。

2) 如果Full Scans/sec(全表扫描/秒)计数器显示的值比1或2高,则应分析你的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。

3) Number of Deadlocks/sec(死锁的数量/秒):死锁对应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器的值必须为0。

4) Lock Requests/sec(锁请求/秒),通过优化查询来减少读取次数,可以减少该计数器的值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9651968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存