sys.dm_os_sys_info (Transact-SQL)

返回一组有关计算机和有关 SQL Server 可用资源及其已占用资源的有用杂项信息。

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

列名

数据类型

说明

cpu_ticks

bigint

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

ms_ticks

bigint

指定自从计算机启动以来的毫秒数。 不可为 Null。

cpu_count

int

指定系统中的逻辑 CPU 数。 不可为 Null。

hyperthread_ratio

int

指定一个物理处理器包公开的逻辑内核数与物理内核数的比。 不可为 Null。

physical_memory_in_bytes

bigint

指定计算机上的物理内存总量。 不可为 Null。

适用于:SQL Server 2008 到 SQL Server 2008 R2。

physical_memory_kb

bigint

指定计算机上的物理内存总量。 不可为 Null。

适用于:SQL Server 2012 到 SQL Server 2014。

virtual_memory_in_bytes

bigint

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

适用于:SQL Server 2008 到 SQL Server 2008 R2。

virtual_memory_kb

bigint

指定对用户模式进程可用的虚拟地址空间的总量。 不可为 Null。

适用于:SQL Server 2012 到 SQL Server 2014。

bpool_commited

int

表示内存管理器中的已提交内存 (KB)。 不包括内存管理器中的保留内存。 不可为 Null。

适用于:SQL Server 2008 到 SQL Server 2008 R2。

committed_kb

int

表示内存管理器中的已提交内存 (KB)。 不包括内存管理器中的保留内存。 不可为 Null。

适用于:SQL Server 2012 到 SQL Server 2014。

bpool_commit_target

int

表示 SQL Server 内存管理器可以占用的内存量 (KB)。

适用于:SQL Server 2008 到 SQL Server 2008 R2。

committed_target_kb

int

表示 SQL Server 内存管理器可以占用的内存量 (KB)。 使用类似如下的不同输入计算目标量:

  • 系统的当前状态,包括其负载

  • 当前进程请求的内存

  • 计算机上安装的内存量

  • 配置参数

如果 committed_target_kb 大于 committed_kb,内存管理器将尝试获得额外内存。 如果 committed_target_kb 小于 committed_kb,内存管理器将尝试减少提交的内存量。 committed_target_kb 总是包括被盗用和保留的内存。 不可为 Null。

适用于:SQL Server 2012 到 SQL Server 2014。

bpool_visible

int

在进程虚拟地址空间中可直接访问的缓冲池中的 8 KB 缓冲区数。 当未使用地址窗口化扩展插件 (AWE),缓冲区池已获取其内存目标 (bpool_committed = bpool_commit_target) 时,bpool_visible 的值与 bpool_committed 的值相等。当在 32 位版本的 SQL Server 上使用 AWE 时,bpool_visible 表示用于访问由缓冲池区分配的物理内存的 AWE 映射窗口的大小。 此映射窗口的大小由进程地址空间绑定,因此,可见数量将小于提交数量,并且通过为数据库页之外的其他用途而消耗内存的内部组件会进一步减少可见数量。 如果 bpool_visible 的值太低,则可能收到内存不足错误。

适用于:SQL Server 2008 到 SQL Server 2008 R2。

visible_target_kb

int

committed_target_kb 相同。 不可为 Null。

适用于:SQL Server 2012 到 SQL Server 2014。

stack_size_in_bytes

int

指定 SQL Server 创建的每个线程的调用堆栈的大小。 不可为 Null。

os_quantum

bigint

表示非抢先任务的量程(以毫秒数度量)。 量程(秒)= os_quantum/CPU 时钟速度。 不可为 Null。

os_error_mode

int

指定 SQL Server 进程的错误模式。 不可为 Null。

os_priority_class

int

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

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

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

有关详细信息,请参阅配置 priority boost 服务器配置选项

max_workers_count

int

表示可以创建的最大工作线程数。 不可为 Null。

scheduler_count

int

表示在 SQL Server 进程中配置的用户计划程序数。 不可为 Null。

scheduler_total_count

int

表示 SQL Server 中的计划程序总数。 不可为 Null。

deadlock_monitor_serial_number

int

指定当前死锁监视序列的 ID。 不可为 Null。

sqlserver_start_time_ms_ticks

bigint

表示 SQL Server 上次启动时的 ms_tick 数。 与当前 ms_ticks 列进行比较。 不可为 Null。

sqlserver_start_time

datetime

指定 SQL Server 上次启动时的日期和时间。 不可为 Null。

affinity_type

int

指定当前使用中的服务器 CPU 进程关联的类型。 不可为 Null。 有关详细信息,请参阅 ALTER SERVER CONFIGURATION (Transact-SQL)

1 = MANUAL

2 = AUTO

适用于:SQL Server 2008 R2 到 SQL Server 2014。

affinity_type_desc

varchar(60)

描述 affinity_type 列。 不可为 Null。

MANUAL = 已为至少一个 CPU 设置关联。

AUTO = SQL Server 可以自由地在 CPU 之间移动线程。

适用于:SQL Server 2008 R2 到 SQL Server 2014。

process_kernel_time_ms

bigint

内核模式下所有 SQL Server 线程所用的总时间(毫秒)。 该值可能会大于单处理器时钟,因为它包括服务器上所有处理器的时间。 不可为 Null。

适用于:SQL Server 2008 R2 到 SQL Server 2014。

process_user_time_ms

bigint

用户模式下所有 SQL Server 线程所用的总时间(毫秒)。 该值可能会大于单处理器时钟,因为它包括服务器上所有处理器的时间。 不可为 Null。

适用于:SQL Server 2008 R2 到 SQL Server 2014。

time_source

int

指示 SQL Server 用于检索时钟时间的 API。 不可为 Null。

0 = QUERY_PERFORMANCE_COUNTER

1 = MULTIMEDIA_TIMER

适用于:SQL Server 2008 R2 到 SQL Server 2014。

time_source_desc

nvarchar(60)

描述 time_source 列。 不可为 Null。

QUERY_PERFORMANCE_COUNTER = QueryPerformanceCounter API 检索时钟时间。

MULTIMEDIA_TIMER = 检索时钟时间的多媒体计时器 API。

适用于:SQL Server 2008 R2 到 SQL Server 2014。

virtual_machine_type

int

指示 SQL Server 是否正在虚拟环境下运行。 不可为 Null。

0 = NONE

1 = HYPERVISOR

2 = OTHER

适用于:SQL Server 2008 R2 到 SQL Server 2014。

virtual_machine_type_desc

nvarchar(60)

描述 virtual_machine_type 列。 不可为 Null。

NO = SQL Server 未在虚拟机内运行。

HYPERVISOR = SQL Server 正在某一 hypervisor 内运行,这意味着硬件辅助虚拟化。 如果实例正在宿主操作系统上运行,说明仍将返回 HYPERVISOR。

OTHER = SQL Server 正在某一虚拟机内运行,该虚拟机未采用 Microsoft Virtual PC 之类的硬件助手。

适用于:SQL Server 2008 R2 到 SQL Server 2014。

权限

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

请参阅

参考

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

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