sys.dm_os_sys_info (Transact-SQL)

返回有关安装 SQL Server 的计算机的信息,包括 SQL Server 的可用资源和它占用的资源。

列名

数据类型

说明

cpu_ticks

bigint

当前 CPU 时钟周期数。CPU 时钟周期数是从处理器的 RDTSC 计数器获得的。它是一个仅增加的数字。

ms_ticks

bigint

自从计算机启动以来的毫秒数。

cpu_count

int

系统的逻辑 CPU 数。

hyperthread_ratio

int

一个物理处理器包公开的逻辑内核数与物理内核数的比。

physical_memory_in_bytes

bigint

可用物理内存的数量。

virtual_memory_in_bytes

bigint

对用户模式进程可用的虚拟内存的数量。通过使用 3 GB 开关,可以用它来确定是否 SQL Server 已启动。

bpool_committed

int

缓冲池中的 8 KB 缓冲区数。此数量表示缓冲池中的已提交物理内存。不包括缓冲池中的保留内存。

bpool_commit_target

int

缓冲池所需要的 8 KB 缓冲区数。目标数量是使用诸如系统当前状态(包括它的负载、当前进程所请求的内存、计算机上安装的内存量以及配置参数)等多种输入计算得到的。如果 bpool_commit_target 大于 bpool_committed 值,则缓冲池将尝试获得额外内存。如果 bpool_commit_target 小于 bpool_committed 值,则缓冲池将收缩。

bpool_visible

int

在进程虚拟地址空间中可直接访问的缓冲池中的 8 KB 缓冲区数。不使用地址窗口化扩展插件 (AWE) 时,如果缓冲池已获得它的内存目标 (bpool_committed = bpool_commit_target),则 bpool_visible 的值等于 bpool_committed 的值。

在 32 位版本的 SQL Server 上使用 AWE 时,bpool_visible 表示在访问缓冲池所分配的物理内存时使用的 AWE 映射窗口的大小。此映射窗口的大小由进程地址空间绑定,因此,可见数量将小于提交数量,并且通过为数据库页之外的其他用途而消耗内存的内部组件会进一步减少可见数量。如果 bpool_visible 的值太低,则可能收到内存不足错误。

stack_size_in_bytes

int

由 SQL Server 创建的每个线程的调用堆栈的大小。

os_quantum

bigint

非抢先任务的量程,以毫秒数度量。量程(秒)= os_quantum/CPU 时钟速度。

os_error_mode

int

SQL Server 进程的错误模式。

os_priority_class

int

指定 SQL Server 进程的优先级类。可以为 NULL。

32 = 正常(错误日志将指出 SQL Server 正以正常的优先级基数 (=7) 启动)。

128 = 高(错误日志将指出 SQL Server 正以高优先级基数启动(=13)。)

有关详细信息,请参阅 priority boost 选项

max_workers_count

int

可以创建的最大工作线程数。

scheduler_count

int

在 SQL Server 进程中配置的用户计划程序数。

scheduler_total_count

int

SQL Server 中的计划程序总数。

deadlock_monitor_serial_number

int

当前死锁监视序列的 ID。

sqlserver_start_time_ms_ticks

bigint

SQL Server 上次启动时的 ms_tick 数。与当前 ms_ticks 列进行比较。

sqlserver_start_time

datetime

SQL Server 上次启动时的日期和时间。

affinity_type

int

描述 SQL Server 使用的关联类型。

值说明
1手动
2自动

affinity_type_description

varchar(60)

描述 affinity_type 列中的值。有关详细信息,请参阅 ALTER SERVER CONFIGURATION (Transact-SQL)

值说明
MANUAL已为至少一个 CPU 设置关联。
AUTOSQL Server 根据需要在 CPU 之间移动线程。

process_kernel_time_ms

bigint

内核模式下所有 SQL Server 线程所用的总时间(毫秒)。

注意注意
该值可能会大于单处理器时钟,因为它包括服务器上所有处理器的时间。

process_user_time_ms

bigint

用户模式下所有 SQL Server 线程所用的总时间(毫秒)。

注意注意
该值可能会大于单处理器时钟,因为它包括服务器上所有处理器的时间。

time_source

int

描述 SQL Server 用于检索时钟时间的 API。

值说明
0指示 QueryPerformanceCounter API。
1指示此多媒体计时器 API。

time_source_desc

nvarchar(60)

描述 time_source 列中的值。

值说明
QUERY_PERFORMANCE_COUNTERQueryPerformanceCounter API 检索时钟时间。
MULTIMEDIA_TIMER检索时钟时间的多媒体计时器 API。

virtual_machine_type

int

指示 SQL Server 是否正在虚拟化环境中运行。不可以为 NULL。

值说明
0NONE
1HYPERVISOR
2其他

virtual_machine_type_desc

nvarchar(60)

描述 virtual_machine_type 列。不可以为 NULL。

值说明
无SQL Server 不在虚拟机内运行。
HYPERVISORSQL Server 正在管理程序内运行,这隐含硬件协助的虚拟化。如果实例正在宿主操作系统上运行,说明仍将返回 HYPERVISOR。
其他SQL Server 正在虚拟机内运行,该虚拟机不使用诸如 Microsoft 虚拟 PC 的硬件助手。

权限

需要具有服务器的 VIEW SERVER STATE 权限。