系统配置:CPU 至强 E5620 8核,内存:16G ECC 内存,硬盘:SAS145G硬盘。raid1模式。系统环境:系统是win 2003企业版 sp2, sql2000 sp4 企业版。连接客户端:50台电脑。数据库文件,mdf文件3.8G,有一个用户表,记录数超过240万条,表空间达到1G。问题说明:
如果有4个客户端同时查询该表,CPU占用率基本在40%左右。其他客户端在使用软件时,就出现停顿现象。直到该表查询完。或者使用查询分析器多窗口查询该表,达到四个窗口时,也出现数据库停顿现象。已经做了相关的优化:
1、启用了数据库大内存管理的AWE功能,指定数据库使用内存是14G2、每天启动系统时,自动重建表索引和收缩数据库。3、优化虚拟内存。

解决方案 »

  1.   

    或许是SQL2000的并行上出现了弯路,试着配置为仅使用2 CORE or 1 CORE only try try
    也查查是否索引配置不好,或SQL指令有低级错误数据少,并发少应该负荷很轻才能提供有偿支持
      

  2.   

    1、了解客户端的动作内容:避免大量查询。
       有一种情况是无法避免的,技术部对DB和Serv做足了优化,但年底会统计全年的同比或环比数据,类似这样查询的厄运是无法摆脱的,从客户端提一些建议。
        2、归档历史数据:减少客户端处理的数据量。
       
      

  3.   

    现在基本上可以排除语句的问题,因为直接select该表,都出现这个现象了。继续期待大家的新的思路软件商现在确定问题出在sql2000数据库上,但不能提供更近一步的数据库优化方式。