sys.dm_os_performance_counters (Transact-SQL)

为服务器维护的每个性能计数器返回一行。 有关每个性能计数器的信息,请参阅 使用 SQL Server 对象

适用范围:SQL Server(SQL Server 2008 到当前版本)。

列名

数据类型

说明

object_name

nchar(128)

该计数器所属的类别。

counter_name

nchar(128)

计数器的名称。

instance_name

nchar(128)

计数器特定实例的名称。 通常包含数据库名称。

cntr_value

bigint

计数器的当前值。

备注

对于每秒计数器,该值是累积的。速率值必须通过对离散时间间隔的值抽样来进行计算。任何两个连续抽样值之间的差等于针对所使用时间间隔的速率。

cntr_type

int

Windows 性能体系结构定义的计数器类型。 有关性能计数器类型的详细信息,请参阅 MSDN 上的 WMI Performance Counter Types(WMI 性能计数器类型)或 Windows Server 文档。

注释

如果 SQL Server 的安装实例无法显示 Windows 操作系统的性能计数器,请使用以下 Transact-SQL 查询来确定性能计数器是否已被禁用。

SELECT COUNT(*) FROM sys.dm_os_performance_counters;

如果返回值为 0 行,表示性能计数器已被禁用。 然后,您应该查看安装日志,搜索错误 3409,“请为此实例重新安装 sqlctr.ini,并确保实例登录帐户具有正确的注册表权限。”这说明性能计数器没有启用。 紧邻 3409 错误之前的错误应该指示无法启用性能计数器的根本原因。 有关安装日志文件的详细信息,请参阅查看和读取 SQL Server 安装程序日志文件

权限

要求对服务器拥有 VIEW SERVER STATE 权限。

示例

下面的示例返回性能计数器值。

SELECT object_name, counter_name, instance_name, cntr_value, cntr_type
FROM sys.dm_os_performance_counters;

请参阅

参考

动态管理视图和函数 (Transact-SQL)

与 SQL Server 操作系统相关的动态管理视图 (Transact-SQL)

sys.sysperfinfo (Transact-SQL)