适用范围:SQL Server
本部分记录与 SQL Server 操作系统(SQLOS)关联的动态管理视图(DMV)。 SQLOS 管理特定于 SQL Server 的作系统资源。
内存管理和内存拓扑
这些 DMV 展示了 SQL Server 如何跨职员、缓存、NUMA 节点和虚拟地址空间分配、跟踪、缓存和结构内存。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_memory_clerks | 报告内存分配内存的内部 SQLOS 对象(用于查明内存使用者)的内存使用情况。 |
| sys.dm_os_memory_nodes | 显示跨 NUMA 节点的内存分布,显示每个节点的内存分配方式。 |
| sys.dm_os_nodes | 返回对 SQL Server 可见的 NUMA 节点信息,包括节点 ID 和内存分区。 |
| sys.dm_os_memory_brokers | 显示 SQLOS 中的内存中转站对象,这些对象管理不同使用者的分配单元。 |
| sys.dm_os_memory_cache_clock_hands | 为内存缓存对象提供时钟扫描位置,可用于诊断缓存逐出行为。 |
| sys.dm_os_memory_cache_counters | 返回内存缓存的大小和使用情况指标,帮助分析缓存利用率模式。 |
| sys.dm_os_memory_cache_entries | 显示有关内存缓存中各个条目的详细信息,从而对缓存的数据和对象进行精细分析。 |
| sys.dm_os_memory_cache_hash_tables | 列出内存缓存使用的哈希表,并显示分布和负载因子的指标。 |
| sys.dm_os_sys_memory | 提供从 SQLOS 用于内存分配决策的 OS 报告的系统内存指标。 |
| sys.dm_os_process_memory | 提供进程级内存指标,例如 SQL Server 的物理内存和虚拟内存使用情况。 |
| sys.dm_os_virtual_address_dump | 提供虚拟地址描述符的转储,有助于进行低级别内存诊断。 |
缓冲池和存储缓存
这些 DMV 报告缓冲池、缓存中的数据页和缓冲池扩展 (BPE) 配置。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_buffer_descriptors | 返回 SQL Server 缓冲池中当前缓存的所有数据页的元数据,包括数据库和文件关联和页面类型详细信息。 此视图可用于分析缓存使用情况和分发。 |
| sys.dm_os_buffer_pool_extension_configuration | 为缓冲池扩展(BPE)提供配置和状态,使缓冲池能够扩展到磁盘存储。 此视图可用于了解扩展缓存的配置方式。 |
计划、辅助角色、任务和并发
这些 DMV 描述了 SQLOS 计划、工作线程、任务、队列、调度程序池、旋转锁、闩锁和低级别并发机制。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_schedulers | 显示 SQLOS 的 CPU 计划的计划程序状态和运行队列长度。 此视图对于 CPU 和并行诊断至关重要。 |
| sys.dm_os_workers | 列出 SQLOS 管理的辅助角色,包括指示异常或执行条件的状态和标志。 |
| sys.dm_os_threads | 返回有关 SQLOS 中工作线程的信息,这些线程和计划程序分析非常有用。 |
| sys.dm_os_tasks | 显示 SQLOS 当前管理的任务,提供状态和计划详细信息。 |
| sys.dm_os_dispatcher_pools | 提供有关跨计划程序处理工作分配的内部调度程序池的统计信息。 此视图可帮助你分析并行度和计划负载。 |
| sys.dm_os_spinlock_stats | 聚合旋转锁争用统计信息,这有助于识别低级别同步瓶颈。 |
| sys.dm_os_latch_stats | 聚合闩锁等待统计信息,显示低级别同步基元的争用和分布。 |
| sys.dm_os_waiting_tasks | 显示当前正在等待的任务以及等待类型和资源详细信息,从而启用实时等待分析。 |
等待和性能诊断
这些 DMV 公开可用于排查性能问题的等待统计信息、环形缓冲区诊断、计数器或服务器级数据。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_wait_stats | 聚合实例中线程等待的等待统计信息,这是诊断 CPU、内存或 I/O 瓶颈的基础视图。 |
| sys.dm_os_ring_buffers | 从内部环缓冲区返回条目,用于诊断系统级事件,例如内存压力或计划程序警报。 |
| sys.dm_os_performance_counters | 公开 SQL Server 的性能计数器值 - 通常用于将 SQL 级别活动与 Windows 性能监视指标相关联。 |
| sys.dm_os_server_diagnostics_log_configurations | 显示服务器诊断日志的配置,这些日志捕获关键的内部事件和诊断。 |
主机、群集和环境信息
这些 DMV 提供有关主机 OS 特征、群集配置、多主机参与以及常规实例和系统元数据的信息。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_host_info | 公开与本地 SQL Server 实例相关的主机 OS 详细信息,例如 OS 版本和配置。 |
| sys.dm_os_hosts | 为 SQL Server 实例已知的每个主机返回一行,该行适用于多主机或群集环境。 |
| sys.dm_os_cluster_nodes | 当 SQL Server 在 Windows 故障转移群集中运行时,返回有关群集节点名称和角色的信息。 |
| sys.dm_os_cluster_properties | 显示与 SQL Server 节点相关的群集级属性和设置,例如群集状态和配置的行为。 |
| sys.dm_os_sys_info | 返回高级 SQL Server 实例信息,例如 CPU 计数、内存配置和 SQLOS 版本。 |
| sys.dm_os_windows_info | 提供有关托管 SQL Server 的 Windows 环境(例如版本和计算机特征)的特定于 OS 的信息。 |
| sys.dm_os_child_instances | 列出有关分布式或多实例部署等环境中的子 SQLOS 实例的资源和状态信息。 |
磁盘、卷和 I/O 环境
这些 DMV 与存储设备、可用卷以及文件级或卷级统计信息相关。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_enumerate_fixed_drives | 返回 SQL Server 实例可访问的固定磁盘驱动器列表以及基本空间信息。 |
| sys.dm_os_volume_stats | 按卷返回数据库文件的 I/O 统计信息,有助于分析磁盘活动和性能。 |
加载的模块(可执行代码上下文)
此 DMV 公开当前已加载的 DLL 和模块以及活动执行组件。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_loaded_modules | 列出 SQL Server 辅助角色加载的模块(DLL/程序集),提供对服务器内执行的代码的见解。 |
低级别调试和诊断
此 DMV 主要用于升级、调试、故障分析或深度 SQL Server 引擎故障排除。
| 动态管理视图 | Description |
|---|---|
| sys.dm_os_stacks | 显示辅助角色的堆栈信息,通常用于深入故障排除或故障转储分析。 |
内部和不支持的 DMV
以下与 SQL Server 操作系统相关的动态管理视图仅用于信息性目的。 不支持。 无法保证将来的兼容性。:
sys.dm_os_function_symbolic_namesys.dm_os_memory_allocationssys.dm_os_sublatchessys.dm_os_worker_local_storage