这段时间遇到一个很古怪的问题,有一台Sql Server 2005服务器,CPU使用率会每天增长一点,到最后会非常高,造成所有查询都超时,此时重启这台服务器的数据库服务,就恢复正常了,但是CPU还是每天增长,最后又挂掉,CPU增长如图:上图的3个最高点,都是重启数据库服务后就正常了,在Week45和Week46之间的一个高点,是执行了下述sql:
DBCC FREEPROCCACHE
DBCC FREESESSIONCACHE 
DBCC FREESYSTEMCACHE ('ALL')具体应用环境:
有一台主数据库作为发布服务器,另外3台服务器作为订阅服务器,这台有问题的服务器是订阅服务器中的一台,但是另外两台订阅服务器没有这个问题求大侠指点问题的可能性

解决方案 »

  1.   

    会不会是连接上有什么问题,导致它反复连接而造成CPU负担过重呢?
    或者,磁盘有没有什么问题.
      

  2.   

    会不会是日志文件太大?或者索引碎片的问题,磁盘碎片这些造成的I/O和CPU瓶颈?没有这方面的经验  学习一下。
      

  3.   

    目前数据库连接都是使用同一套底层,应该不存在连接是否未释放的问题,而且3台订阅服务器中,这台压力还稍微小一些
    另外,服务器也检测过,磁盘存在问题的可能性不大
    附这台机器的配置:
    Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
    内存32G
    系统:Windows Server 2003 Enterprise x64 Edition-version:5.2.3790
      

  4.   

    日志文件459M,数据库文件9.6G,不会是这个问题
    因为订阅服务器的日志模式是Simple
    碎片也有定期索引重建
      

  5.   

    可能的原因:1.是否过多的语句及存储过程使用了option(recompile)选项.2.当时服务器是否在执行例行维护作业(windows级的),数据导出或数据库备份等事情.3.确认SQL2005 SP3补丁及Windows补丁都安装更新了没.4.复制(replication)的类型是快照式的吗?如是,这个问题就好解释了.
      

  6.   

    1、没有用过这种选项(不好意思,都不知道这个选项)
    2、这个不会,因为高峰点都是晚上10点左右,正是用户最多的时候,不会维护,例行维护都安排上凌晨5点左右,也就是图上cpu最低的时候
    3、数据库SP4打上了,版本情况:9.00.5057.00 SP4 Enterprise Edition (64-bit)
    4、目前的发布是事务发布,不是快照发布
      

  7.   

    看看下面几个计数器
    SQLServer: SQL Statistics: Batch Requests/Sec,SQL Compilations/Sec,SQL Recompilations/Sec再跟另外2台订阅服务器比比个人觉得是查询量大,编译,重编译次数多。
      

  8.   

    通过Profiler也跟踪过,未发现查询量跟其它服务器有区别
    而且因为是重启一下sql服务就可以正常一周左右
    而站点每天的访问量都很平均的
      

  9.   

    建议设定一个SQL Job, 每天在系统闲时, 执行以下,DBCC FREEPROCCACHE
    DBCC FREESESSIONCACHE  
    DBCC FREESYSTEMCACHE ('ALL')
      

  10.   

    非常感谢,由于公司政策相关原因,做不到
    实际上,我也没权限操作数据库,只能技术部的人去操作
    而最操蛋的事情就是技术部没有专业的dba,只能我们这些程序员去做这些db故障分析维护
    分析维护时,还老要叫那帮人帮忙查询数据库状态之类,浪费时间,浪费精力,还浪费感情(技术部那帮人是爷)
      

  11.   

    目前在发布服务器上修改更新设置为Singleton update,这个问题没有再重现,sql如下:
    dbcc traceon (8207,-1)
    DBCC TRACESTATUS(-1)具体参考:
    http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q302/3/41.ASP&NoWebContent=1http://social.msdn.microsoft.com/Forums/en/sqlreplication/thread/7d1b8e01-f372-4d67-b213-5576345e71ec