使用 SQL Server 对象

适用于:SQL Server

Microsoft SQL Server 提供了对象和计数器,系统监视器可以使用它们监视运行 SQL Server 实例的计算机中的活动。 对象可以是任何 SQL Server 资源,例如 SQL Server 锁或 Windows 进程。 每个对象有一个或多个计数器,用于确定所要监视对象的各方面信息。 例如, SQL Server Locks 对象包含名为 Number of Deadlocks/secLock Timeouts/sec的计数器。

如果计算机上有某一个给定资源类型的多个资源,则一些对象会有几个实例。 例如,如果一个系统有多个处理器,则 Processor 对象类型会有多个实例。 对于 SQL Server 上的每个数据库,Databases 对象类型都有一个实例。 某些对象类型(例如, Memory Manager 对象)只有一个实例。 如果一个对象类型有多个实例,则可以增加计数器以跟踪每个实例的统计信息,另外在许多情况下,同时跟踪所有实例的统计信息。 默认实例的计数器以 SQLServer:<对象名称>格式显示。 命名实例计数器以 MSSQL$<实例名称><计数器名称>SQLAgent$<实例名称><计数器名称>格式显示。

SQL Server 性能计数器值是使用 Windows 性能计数器 (WPC) 引擎生成的。 某些计数器值不会直接由 SQL Server 数据库引擎计算。 SQL Server 会向 WPC 引擎提供基值,而引擎会执行所需计算(如百分比)。 sys.dm_os_performance_counters (Transact-SQL) 动态管理视图为所有计数器提供 SQL Server 生成的原始值。 cntr_type 列指示计数器的类型。 WPC 引擎处理 SQL Server 计数器值的方式取决于此类型。 有关性能计数器类型的详细信息,请参阅 WMI 文档

通过在图表中添加或删除计数器并保存图表设置,可以指定系统监视器启动后监视的 SQL Server 对象和计数器。

可以配置系统监视器显示任何 SQL Server 计数器中的统计信息。 另外,可以为任何 SQL Server 计数器设置一个阈值,当计数器超过阈值时生成一个警报。 有关设置警报的详细信息,请参阅 创建 SQL Server 数据库警报

注意

仅当安装 SQL Server 实例后,才会显示 SQL Server 统计信息。 如果停止并重新启动 SQL Server 实例,统计信息的显示将中断,然后自动恢复。 还请注意,即使 SQL Server 没有运行,您也会在系统监视器管理单元中看到 SQL Server 计数器。 在群集实例中,性能计数器只在 SQL Server 运行的节点上发挥作用。

本文包含以下各节:

SQL Server 代理性能对象

下表列出了为 SQL Server 代理提供的性能对象:

性能对象 说明
SQLAgent:Alerts 提供有关 SQL Server 代理警报的信息。
SQLAgent:Jobs 提供有关 SQL Server 代理作业的信息。
SQLAgent:JobSteps 提供有关 SQL Server 代理作业步骤的信息。
SQLAgent:Statistics 提供有关 SQL Server 代理的常规信息。

Service Broker 性能对象

下表列出了为 Service Broker 代理提供的性能对象。

性能对象 说明
SQLServer:Broker Activation 提供有关已激活 Service Broker 的任务的信息。
SQLServer:Broker Statistics 提供一般 Service Broker 信息。
SQLServer:Broker Transport 提供有关 Service Broker 网络的信息。

SQL Server 性能对象

下表介绍了 SQL Server 对象。

性能对象 说明
SQLServer:Access Methods 搜索并度量 SQL Server 数据库对象的分配(例如,索引搜索数或分配给索引和数据的页数)。
SQLServer:Backup Device 提供有关备份和还原操作使用的备份设备的信息,如备份设备的吞吐量。
SQLServer:Batch Resp Statistics 用于跟踪 SQL 批处理响应时间的计数器。
SQLServer:Buffer Manager 提供有关 SQL Server 使用的内存缓冲区的信息,如 freememorybuffer cache hit ratio
SQL Server:Buffer Node 提供有关 SQL Server 请求和访问可用页的频率的信息。
SQLServer:Catalog Metadata 此项定义 SQL Server 的目录元数据管理器对象。
SQLServer:CLR 提供有关公共语言运行时 (CLR) 的信息。
SQLServer:Columnstore 适用于:SQL Server(SQL Server 2016 (13.x) 及更高版本)。

提供有关列存储索引的行组和段的信息。
SQLServer:Cursor Manager by Type 提供游标信息。
SQLServer:Cursor Manager Total 提供游标信息。
SQLServer:Database Mirroring 提供有关数据库镜像的信息。
SQLServer:Databases 提供有关 SQL Server 数据库的信息,如可用的日志空间量或数据库中的活动事务数。 这个对象可有多个实例。
SQL Server:Deprecated Features 对使用不推荐使用的功能的次数进行计数。
SQLServer:Exec Statistics 提供了有关执行统计信息的信息。
SQL Server:External Scripts 适用于:SQL Server(SQL Server 2016 (13.x) 及更高版本)。

提供有关外部脚本执行的信息。
SQLServer:FileTable 与 FileTable 和非事务访问关联的统计信息。
SQLServer:General Statistics 提供有关服务器范围内的常规活动的信息,如连接到 SQL Server 实例的用户数。
SQL Server:HADR 可用性副本 提供有关 SQL Server Always On 可用性组可用性副本的信息。
SQL Server:HADR 数据库副本 提供有关 SQL Server Always On 可用性组数据库副本的信息。
SQL Server:HTTP Storage 提供信息,以便在使用 Microsoft Azure 中的 SQL Server 数据文件时监视 Microsoft Azure 存储帐户
SQLServer:Latches 提供有关 SQL Server 所用内部资源(如数据库页)上的闩锁的信息。
SQLServer:Locks 提供有关 SQL Server 执行的单个锁请求的信息,如锁超时和死锁。 这个对象可有多个实例。
SQLServer:LogPool FreePool 描述了日志池内的可用池的统计信息。
SQLServer:Memory Broker Clerks 与 Memory Broker Clerk 相关的统计信息。
SQLServer:Memory Manager 提供有关 SQL Server 内存使用量的信息,如当前分配的锁结构总数。
SQLServer:Plan Cache 提供有关用于存储对象(如存储过程、触发器和查询计划)的 SQL Server 缓存的信息。
SQLServer: Query Store 提供有关查询存储的信息。
SQLServer: Resource Pool Stats 提供了有关资源调控器资源池统计的信息。
SQLServer:SQL Errors 提供有关 SQL Server 错误的信息。
SQLServer:SQL Statistics 提供有关 Transact-SQL 查询各个方面的信息,如 SQL Server 收到的 Transact-SQL 语句的批数。
SQLServer:Transactions 提供了有关 SQL Server 中活动事务的信息,如事务总数和快照事务数。
SQLServer:User Settable 执行自定义监视。 每个计数器可以是一个自定义的存储过程,也可以是任何返回一个被监视值的 Transact-SQL 语句。
SQLServer: Wait Statistics 提供有关等待的信息。
SQLServer: Workload Group Stats 提供了有关资源调控器工作负荷组统计的信息。

SQL Server 复制性能对象

下表列出了为 SQL Server 复制提供的性能对象:

性能对象 说明
SQLServer:Replication Agents

SQLServer:Replication Snapshot

SQLServer:Replication Logreader

SQLServer:Replication Dist.

SQLServer:Replication Merge

有关详细信息,请参阅 Monitoring Replication with System Monitor
提供有关复制代理活动的信息。

SSIS 管道计数器

有关 SSIS 管道 计数器的信息,请参阅 性能计数器

SQL Server XTP(内存中 OLTP)性能计数器

有关 SQL Server XTP (In-Memory OLTP) 计数器的信息,请参阅 SQL Server XTP (In-Memory OLTP) 性能计数器

权限

SQL Server 对象的使用取决于 Windows 权限(SQLAgent:Alerts 除外)。 只有 sysadmin 固定服务器角色的成员可以使用 SQLAgent:Alerts