sql-server - 生成最近 7 天的 SQL Server CPU 使用率

标签 sql-server sql-server-2012

我需要为我的 SQL 服务器生成过去 7 天的 CPU 使用率报告。我将使用图表来表示它。

此外,我必须跟踪每天消耗最大 CPU 的前 10 个查询。

我在下面收到一篇帖子,但我几乎没有怀疑。

CPU utilization by database?

疑问: 我怎么知道昨天的整体 CPU 使用率如何?我是否必须为昨天运行的不同查询添加所有 AvgCPU 时间

最佳答案

没有可靠的方法来获取每天/最近 5 天的 CPU 使用率..我看到 SQLServer 有以下几列..

select
creation_time,
last_worker_time,
total_worker_time,
execution_count,
last_execution_time
from sys.dm_exec_query_stats

以及下面在我的测试实例中报告的那些..

enter image description here

从上面的截图可以看出..

我们无法可靠地获取,特定查询在特定日期执行的实例计数..此外,如果您重新启动 SQLServer,您将看到整个数据被重置

如果你真的想每天显示数据,你可以使用 perfmon..这里有一些教程可能对你有帮助..

1. Collecting Performance Data into a SQL Server Table
2. Using PerfMon for SQL Server Reporting Services Performance Management

关于sql-server - 生成最近 7 天的 SQL Server CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39617656/

相关文章:

sql - 如何从 SQL Server 表中检索特定行?

sql-server - 连接多个表返回 NULL 值

sql-server - TSQL 根据 CASE 值从不同表中选择

sql - 将阶段标识符分配给启停事件表

sql - 任何人都可以理解为什么要这样做或者它如何使用这段 SQL 正确工作?

c# - 用单引号转换多行逗号分隔的文本框值

sql-server - 使用 += 创建动态 SQL 在某些情况下会截断之前的内容

c# - 使用任何(指定的)对象集合在不反射的情况下填充 IDataReader

sql - 显示月份的所有日期以及日期名称

sql-server - 获取 SQL Server 中给定月份和年份的所有日期