0x00、解决CPU100%的情况,首先需排除病毒和保护软件的干扰情况
0x01、收缩数据库( 日志文件)
0x02、重建索引
0x03、使用perfmon观察disk queue,看是否一直高于1,如果长时间高于1说明磁盘性能有问题,意味着磁盘操作需要排队完成。考虑升级存储设备
加入“Page Life Expectancy”如果这个值始终小于300秒,则可能需要更大的内存(在Sql Server: Buffer Manager里)
加入“Buffer Cache hit ratio” 如果这个值小于90%,则可能需要更大的内存.(在Sql Server: Buffer Manager里)
0x04、数据库锁检查命令
SP_lock
SP_Who
sp_who2
0x05 运行profiler,跟踪器
只选Stored procedure 和 T-Sql, 在Filter(过滤) tab, 选duration(时长)大于5000,这告诉跟踪器只捕捉运行时间超过5秒的程序。 你可以根据自己的情况调整这个变量。目的是找到导致问题的SQL.
0x06、运行sp_who2 ,看blk by 栏, 如果这栏有数据, 就是造成阻塞(blocking)的线程id. 然后运行DBCC Inputbuffer(线程id),就可以了解这个线程在干什么。
0x07. 根据官方文档,SqlServer2008R2 x64 的最低内存需求为4GB(保证系统能够安装运行), 建议加大内存以提升SQLServer2008的整体性能。