我有一个相当强大的数据库服务器安装了SQL Server 2008 R2。 它只有一个数据库正在从2个服务器访问(大约5/6个应用程序)。 问题是应用程序一开始指向数据库,系统的CPU使用率就会高达100%,而sqlserver本身使用95 +%。
我已经检查了分析器,没有任何重要的查询在那里运行。 我已经检查了活动连接,他们几乎是150.仍然CPU使用率是100%左右,应用程序响应缓慢/数据库服务器连接被拒绝。
数据库grus,我真的需要一些想法在这里。
我也看看sys.dm_os_wait_stats看看服务器正在等待什么。
如果有几个查询真的像这样挂钩CPU,我会怀疑有很多并行执行。 这是寻找的东西。
当你看Profiler时应该有一个CPU列。 在列中具有最高值的查询是使用大量CPU时间的查询。 也去findsp_whoisactive并把它放在机器上。 当你运行这个程序时,它会向你显示在运行时需要花费大量时间和CPU运行的查询。
你是否正在对数据库进行定期维护,如备份,更新统计信息,索引重build? 我已经看到了一个严重分散的数据库导致像你所描述的性能问题。