【问题标题】:SQL Server 2008 r2 high cpu usageSQL Server 2008 r2 高 CPU 使用率
【发布时间】:2023-04-03 05:18:02
【问题描述】:

我们在 Windows Server 2008 r2 ent edition 和 SQL Server 2008 r2 ent edition 运行一个照片共享网站。服务器配置为 xeon 5620,配备 48GB RAM 和 4 个 450GB 15k Scsi 硬盘。

根据上个月的平均值,我们在 DB 上大约有 50 个和最多 500 个活动连接。现在平均值也是一样的。 1 个月前,我们的 sql server cpu 使用率低于 1%,但现在它始终使用最低 25% 和最高 100%。我们从过去 8 天开始面临的这个问题。从这最后 8 天开始,当我们启动 SQL 服务和停止它时,我们的 CPU 使用率总是在增加,这只是正常的。我请求你能告诉我如何解决这个问题。

【问题讨论】:

  • 2008 R2 - sql server 忙什么?使用分析仪表板找出 cpu 实际在做什么。可能是一些卡住的数据库检查/修复需要很长时间并且重新启动服务器会将其重置为启动?
  • 即使我们重新启动数据库服务器也可能是相同的。当我们停止 SQL server 服务时,只有 cpu 使用是正常的。
  • 你看我说的了吗?当然,当它被卡住时 reparnig 数据库 tc。然后你重新启动它,它总是会再试一次。您是否考虑过查看 sql server 日志以了解服务器启动后会发生什么?

标签: sql sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

同意 TomTom,您必须深入了解它。好的猜测是缺乏/不准确的索引,它经常导致高 CPU 没有高数量的会话。 检查您的 DMV 中的信息(但要小心,它们只是 SQL 引擎的提示,应由训练有素的专业人员进行分析):

SELECT
  migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) AS improvement_measure,
  'CREATE INDEX [missing_index_' + CONVERT (varchar, mig.index_group_handle) + '_' + CONVERT (varchar, mid.index_handle)
  + '_' + LEFT (PARSENAME(mid.statement, 1), 32) + ']'
  + ' ON ' + mid.statement
  + ' (' + ISNULL (mid.equality_columns,'')
    + CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END
    + ISNULL (mid.inequality_columns, '')
  + ')'
  + ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement,
  migs.*, mid.database_id, mid.[object_id]
FROM sys.dm_db_missing_index_groups mig
INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle
WHERE migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) > 10
ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC

【讨论】:

  • 感谢 Rafael 和 Tom,根据您的建议,我们进行了一些研究并找到了一些临时解决方案并致力于永久解决方案。非常感谢你们俩。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 2014-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多