sys.dm_os_performance_counters (Transact-SQL)
为服务器维护的每个性能计数器返回一行。 有关每个性能计数器的信息,请参阅 使用 SQL Server 对象。
列名 |
数据类型 |
说明 |
||
---|---|---|---|---|
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;