日期:2014-05-17  浏览次数:20619 次

SQLSERVER每次重启后,总有一段时间速度非常缓慢
SQLSERVER每次重启后,总有一段时间速度非常缓慢,过一段时间速度就上来了。
估计是数据缓存什么,执行计划什么都被清了。
请教各位大大,怎么解决这种问题?
SQLSERVER 16G 内存,2CPU 24 核,数据库也就12G。 
------最佳解决方案--------------------
数据库既然不大 ,清空缓存后 非常缓慢应该是你的数据库的索引有问题导致的。
注意观察下非常缓慢时的数据库IO和数据库当前执行查询的sql 状态 是否存在阻塞等待。
进一步分析问题点
------其他解决方案--------------------
这段时间CPU比正常使用的多吗?用PERFMON可以查看编译数量,查查是不是比平时多。

另外查一下具体运行语句慢的原因
------其他解决方案--------------------
既然2-3小时后就正常了,那就重点监控重启后3小时内的数据库活动。
直接使用SQL Server profiler,事件选择Stored Procedure类(存储过程)的SP:Recompile(重编译);SP:Starting(存储过程开始);SP:Complete(存储过程完成)。然后将结果保存,随时可以查看。
另外注意事件越多,越会影响数据库的性能。
------其他解决方案--------------------
重启之后缓存、执行计划清空是不可避免的。唯一的方法就是减少重启次数,在没有必要的情况下不要重启。
------其他解决方案--------------------
12G的库,16G的内存,理论上可以完全在内存中运行的,但是重启的话内存就清空,所有行为都要重新操作,你可以监控一下执行计划的编译,是否开机以后非常多。如果是的话,考虑不要经常重启。
------其他解决方案--------------------
检查过,没有死锁或阻塞。基本上2-3小时后,就正常了。。。。
------其他解决方案--------------------
http://topic.csdn.net/u/20121031/18/f7328c3c-2f05-4f11-a6cc-3c3143f900ff.html同时帮忙看看这个问题