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

使用者模式之處理序可用的虛擬記憶體數量。 這可用來判斷 SQL Server 是否藉由使用 3-GB 參數來啟動。

適用於: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 緩衝區數目。 如果沒有使用 Address Windowing Extensions (AWE),則當緩衝集區已經取得記憶體目標量 (bpool_committed = bpool_commit_target) 時,bpool_visible 的值等於 bpool_committed 的值。在 SQL Server 的 32 位元版本上使用 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

指定目前死結監視順序的識別碼。 不可為 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 內部,也就是硬體輔助虛擬化。 如果執行個體正在主機 OS 上執行,此說明仍然會傳回 HYPERVISOR。

OTHER = SQL Server 執行於沒有採用硬體助理的虛擬機器內部,例如 Microsoft Virtual PC。

適用於:SQL Server 2008 R2 至 SQL Server 2014。

權限

需要伺服器的 VIEW SERVER STATE 權限。

請參閱

參考

動態管理檢視和函數 (Transact-SQL)

SQL Server 作業系統相關的動態管理檢視 (Transact-SQL)