Sql server 2005占用CPU100%

本文详细描述了排查和解决SQL Server 2005数据库CPU占用率持续100%的问题。通过排除操作系统层面的木马和病毒,停止Web应用服务确认问题源头在应用系统,使用Sp_lock排除死锁,通过查询统计信息定位到高CPU消耗的SQL,结合SQL Server Profiler和数据库引擎优化顾问,对索引和执行计划进行优化,最终成功将CPU占用率降低到10%左右。
摘要由CSDN通过智能技术生成
大家看下解决过程:
一旦异常出现,正如医生看病,首先要探明问题出现的原因,才能够对症下药,有的放矢,方能解决问题。DBA某种程度上正是数据库的医生。面对持续100%的CPU占用率这样的经典疑难杂症,笔者首先需要排查的该问题是否由操作系统平台引起,考虑到CPU占用率一直锁定在100%,并且没有丝毫的振荡区间,作为一名windows用户,多年使用经验告诉我,这很可能是木马或者病毒惹的祸,遂使用赛门铁克扫描服务器果然发现arp.exe感染了木马,该arp.exe本来是一个防止arp攻击的软件,现在服务器进行了双向绑定,果断将其关闭。关闭该软件后发现CPU占用率从峰值100%立即回落,然后一直在50%和100%间来回震荡。至此,我们完成了第一步,排除了木马病毒引起操作系统平台问题的解决,但很显然,问题还没有彻底解决,但我们看到问题的根源已经向应用层面转移了。为了进一步验证这种想法,笔者把访问该数据库的Web应用服务暂停,发现数据库服务机器CPU占用率立即回落到0。到此时,我们可以确信,问题的症结已经在应用系统的问题了。
应用系统引起的性能问题,笔者曾经作过总结,主要集中体现在重要表的索引建立和使用上,而执行效率低下的SQL写法导致查询或更新进程的阻塞,直至引发的死锁现象都是引发SQL Server响应异常缓慢,CPU占用率高居不下的主要原因。
首先执行了Sp_lock,返回结果发现X锁和IX锁并没有出现,故排除掉死锁现象。
首先执行了如下检查
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值