sys.dm_os_sys_info (Transact-SQL)
返回一组有关计算机和有关 SQL Server 可用资源及其已占用资源的有用杂项信息。
列名 |
数据类型 |
说明 |
---|---|---|
cpu_ticks |
bigint |
指定当前的 CPU 时钟周期计数。 CPU 时钟周期数是从处理器的 RDTSC 计数器获得的。 它是一个仅增加的数字。 不可为 NULL。 |
ms_ticks |
bigint |
指定自从计算机启动以来的毫秒数。 不可为 NULL。 |
cpu_count |
int |
指定系统中的逻辑 CPU 数。 不可为 NULL。 |
hyperthread_ratio |
int |
指定一个物理处理器包公开的逻辑内核数与物理内核数的比。 不可为 NULL。 |
physical_memory_kb |
bigint |
指定计算机上的物理内存总量。 不可为 NULL。 |
virtual_memory_kb |
bigint |
指定对用户模式进程可用的虚拟地址空间的总量。 不可为 NULL。 |
committed_kb |
int |
表示内存管理器中的已提交内存 (KB)。 不包括内存管理器中的保留内存。 不可为 NULL。 |
committed_target_kb |
int |
表示 SQL Server 内存管理器可以占用的内存量 (KB)。 使用类似如下的不同输入计算目标量:
如果 committed_target_kb 大于 committed_kb,内存管理器将尝试获得额外内存。 如果 committed_target_kb 小于 committed_kb,内存管理器将尝试减少提交的内存量。 committed_target_kb 总是包括被盗用和保留的内存。 不可为 NULL。 |
visible_target_kb |
int |
与 committed_target_kb 相同。 不可为 NULL。 |
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 |
affinity_type_desc |
varchar(60) |
描述 affinity_type 列。 不能为 NULL。 MANUAL = 已为至少一个 CPU 设置关联。 AUTO = SQL Server 可以自由地在 CPU 之间移动线程。 |
process_kernel_time_ms |
bigint |
内核模式下所有 SQL Server 线程所用的总时间(毫秒)。 该值可能会大于单处理器时钟,因为它包括服务器上所有处理器的时间。 不能为 NULL。 |
process_user_time_ms |
bigint |
用户模式下所有 SQL Server 线程所用的总时间(毫秒)。 该值可能会大于单处理器时钟,因为它包括服务器上所有处理器的时间。 不能为 NULL。 |
time_source |
int |
指示 SQL Server 用于检索时钟时间的 API。 不能为 NULL。 0 = QUERY_PERFORMANCE_COUNTER 1 = MULTIMEDIA_TIMER |
time_source_desc |
nvarchar(60) |
描述 time_source 列。 不能为 NULL。 QUERY_PERFORMANCE_COUNTER = QueryPerformanceCounter API 检索时钟时间。 MULTIMEDIA_TIMER = 检索时钟时间的多媒体计时器 API。 |
virtual_machine_type |
int |
指示 SQL Server 是否正在虚拟环境下运行。 不能为 NULL。 0 = NONE 1 = HYPERVISOR 2 = OTHER |
virtual_machine_type_desc |
nvarchar(60) |
描述 virtual_machine_type 列。 不能为 NULL。 NO = SQL Server 未在虚拟机内运行。 HYPERVISOR = SQL Server 正在某一 hypervisor 内运行,这意味着硬件辅助虚拟化。 如果实例正在宿主操作系统上运行,说明仍将返回 HYPERVISOR。 OTHER = SQL Server 正在某一虚拟机内运行,该虚拟机未采用 Microsoft Virtual PC 之类的硬件助手。 |
权限
要求具有服务器的 VIEW SERVER STATE 权限。
兼容性支持
在 SQL Server 2012 中,以下列已重命名。
以前的列名 |
新列名 |
---|---|
physical_memory_in_bytes |
physical_memory_kb |
bpool_commit_target |
committed_target_kb |
bpool_visible |
visible_target_kb |
virtual_memory_in_bytes |
virtual_memory_kb |
bpool_commited |
committed_kb |