1.可能是中了毒
2.安装最新的操作系统补丁及SQL补丁
sql sp3
http://www.microsoft.com/china/msdownload/servers/
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766

解决方案 »

  1.   

    1.你的服务器内存配置如何,如果不大的话,虚拟内存开了没有?
    如果在G级别的话,虚拟内存是否关闭,服务器是否要加载专用的磁盘缓存?
    2.ado几十毫秒扫描数据库?怎么扫描的?频率是不是太大?
    3.服务器,是否有其他的服务,特别是提供AD目录?
      

  2.   

    我用jsp连接sqlserver数据库,cpu的占用率也超过了50%,甚至有时到达80%和楼上的兄弟有同感
      

  3.   

    老觉的是sqlserver.exe不释放CPU似的
    不知有没有可能是程序的问题
      

  4.   

    老觉的是sqlserver.exe不释放CPU似的
    ADO频繁连接、关闭会出这种情况么?
      

  5.   

    1)设计优化:数据库表进行水平分片,减小单表大小,建立索引;2)查询优化:确定和尽量减少查询列,消除过多的网络流量;将命中率较低的where条件放在前面以减少中间表大小;3)操作优化:共享数据库连接,优化游标,减小更新规模避免经常阻塞;4)服务器设置优化:线程策略设置,关闭孤立会话。
      

  6.   

    如果频繁操作数据库,建议不用释放ado连接。
      

  7.   

    <SQL Server 2000联机帮助>
    监视 CPU 的使用
    定期监视 Microsoft&reg; SQL Server&#8482; 实例以确定 CPU 使用率是否在正常范围内。持续的高 CPU 使用率可能表明 CPU 需要升级或需要增加多个处理器。或者,高 CPU 使用率也可能表明应用程序的调整或设计不良。优化应用程序可以降低 CPU 的使用率。 确定这个的一个好方法是使用系统监视器(Microsoft Windows NT&reg; 4.0 中的性能监视器)中的 Processor:% Processor Time 计数器。该计数器监视 CPU 处理非闲置线程所用的时间。持续 80% 到 90% 的状态可能表明需要 CPU 升级或需要增加更多的处理器。对于多处理器系统,应该为每个处理器监视一个该计数器的独立实例。这一数值代表了在一个特定处理器上的处理器时间之和。要确定所有处理器的平均时间,请用 System:%Total Processor Time 计数器。也可监视:(可选) Processor:% Privileged Time 
    该计数器对应于处理器执行 Windows NT 4.0 或 Microsoft Windows&reg; 2000 内核命令(如处理 SQL Server I/O 请求)所用时间的百分比。如果 Physical Disk 计数器的值很高时该计数器的值也一直很高,则考虑使用速度更快或效率更高的磁盘子系统。 说明  不同的磁盘控制器和驱动程序所用的内核处理时间不同。高效的控制器和驱动程序所用的特权时间较少,可留出更多的处理器时间给用户应用程序,从而提高总体的吞吐量。Processor:%User Time 
    这一计数器值是处理器执行用户进程(如 SQL Server 进程)所用时间的百分比。系统:Processor Queue Length 
    这一计数器表示等待处理器时间的线程数。当一个进程的线程需要的处理器循环数超过可获得的循环数时,就产生了处理器瓶颈。如果有很多进程在争用处理器时间,也许需要安装一个速度更快的处理器,或者如果使用的是多处理器系统则再增加一个处理器。当检查处理器使用情况时,需考虑 SQL Sever 实例正在执行的工作类型。如果 SQL Server 正在做大量的运算,如包含聚合的查询,或不需要进行磁盘 I/O 的内存依赖查询,此时所用的处理器时间可能是 100%。如果这导致其它应用程序的性能下降,应尝试改变工作负荷,如让计算机只运行 SQL Server 实例。若此数值为 100% 左右(表示有大量的客户端请求在处理),可能表示进程正在排队,等待处理器时间,并因而导致瓶颈出现。可以通过增加处理能力更强的处理器来解决这一问题。
      

  8.   

    如果cpu平均在70-80%,但是有很多次冲到90%,要注意了.
      

  9.   

    你试试建立索引,我们公司原来也是这样,建立索引以后CPU使用率就降下来了。如果你有多块CPU,你可以多分配几块CPU给SQL SERVER