Hun*_*rX3 5 sql-server dmv sql-server-2016
我在我的 2016 SQL Server 上使用资源调控器。在之前的 2016 SQL Server 版本中,此查询:
select *
from master.sys.dm_os_performance_counters opc
where opc.object_name = 'SQLServer:Resource Pool Stats'
and counter_name = 'CPU usage target %'
Run Code Online (Sandbox Code Playgroud)
将根据资源池配置设置和系统负载产生资源池的 CPU 使用率目标值。但是,现在它们始终为零。
我还使用 perfmon 来确认这一点(以及运行合法查询)。有谁知道为什么或者这个计数器是否改变了?根据msdn文章,它应该仍然有效。
Vic*_*ork -2
尝试一下,看看这是否给出了非零的值:
SELECT perfCount.object_name ,
perfCount.counter_name ,
CASE WHEN perfBase.cntr_value = 0 THEN 0
ELSE ( CAST(perfCount.cntr_value AS float) / perfBase.cntr_value ) * 100
END AS cntr_Value
FROM ( SELECT *
FROM sys.dm_os_performance_counters
WHERE object_name = 'SQLServer:Resource Pool Stats'
AND counter_name = 'CPU usage %' ) AS perfCount
INNER JOIN ( SELECT *
FROM sys.dm_os_performance_counters
WHERE object_name = 'SQLServer:Resource Pool Stats'
AND counter_name = 'CPU usage % base' ) AS perfBase
ON perfCount.object_name = perfBase.object_name;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
444 次 |
最近记录: |