日期:2014-05-18  浏览次数:20476 次

关于sql server响应慢的问题,敬请邹建大侠解答
我们的服务器hp服务器,具体型号忘了。2个4核cpu,4G内存。磁盘阵列RAID5,可用空间2T。 
sql server2000 enterprise ,sp4. 
现有一数据库,目前大小约250G,数据文件由5个50G大小的文件构成,最大的表有3亿多条记录,不到20个用户。大部分表 
字段都做了索引,一般情况下减缩速度很快。这几天在使用中发现,一些用户在查询时,其他用户常常会出现服务器响应速度非常慢的情况。有时服务器很久都没有响应,请教高手告知可能会是那些原因造成该情况。谢谢!!

------解决方案--------------------
SQL Server做小应用比较方便,入门容易,但并不代表就只适合做小应用。

像LZ这种系统算有点规模了,多CPU,磁盘阵列都有。这种硬件配置就不能使用默认的那些SQL Server配置,
默认的SQL Server配置参数只适合大多数情况。

你有2个4核CPU,算是8个核,那么要为tempdb建8个数据文件(data file),默认只有1个数据文件。
这个在多核系统里面非常重要,各个CPU才能同时使用不同的数据文件去操作tempdb,否则就只有排队等。
关键是8个数据文件大小必须一样。细节参看:http://support.microsoft.com/kb/328551/zh-cn

上面设置最大并行度为1的部分,你可以参看:http://support.microsoft.com/kb/329204/zh-cn

4G的内存感觉小了点,但也不一定,需要看具体情况。
如果上面的这些优化措施都到位了,内存使用仍然持续在70%以上的话,
应该考虑增加内存。

另外,为了防止SQL服务占用过多系统内存,应该设置最大可使用内存为3.4G左右,
为操作系统至少保留600M内存。参看:
如何配置 SQL Server 以便使用 2 GB 以上的物理内存
http://support.microsoft.com/kb/274750/zh-cn

=========================================================
看LZ的硬件配置和用户连接数,如果上面的这些优化措施都到位,应该能够解决遇到的问题。

------解决方案--------------------
服务器配置太低了点

特别是内存, 一般这样的数据量少说也得 8 G 才好, 4 G 太低了