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。
|
|
physical_memory_kb |
bigint |
指定電腦上實體記憶體的總數。 不可為 Null。
|
|
virtual_memory_in_bytes |
bigint |
使用者模式之處理序可用的虛擬記憶體數量。 這可用來判斷 SQL Server 是否藉由使用 3-GB 參數來啟動。
|
|
virtual_memory_kb |
bigint |
指定使用者模式之處理序可用的虛擬位址空間總數。 不可為 Null。
|
|
bpool_commited |
int |
代表記憶體管理員中已認可的記憶體 (KB)。 不包含記憶體管理員中的保留記憶體。 不可為 Null。
|
|
committed_kb |
int |
代表記憶體管理員中已認可的記憶體 (KB)。 不包含記憶體管理員中的保留記憶體。 不可為 Null。
|
|
bpool_commit_target |
int |
代表可由 SQL Server 記憶體管理員耗用的記憶體數量 (KB)。
|
|
committed_target_kb |
int |
代表可由 SQL Server 記憶體管理員耗用的記憶體數量 (KB)。 目標數量是透過各種輸入來計算,例如:
如果 committed_target_kb 大於 committed_kb,記憶體管理員會嘗試取得其他記憶體。 如果 committed_target_kb 小於 committed_kb,記憶體管理員會嘗試壓縮已認可的記憶體數量。 committed_target_kb 永遠會包含遭奪取和保留記憶體。 不可為 Null。
|
|
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 的值太小,可能會接到記憶體不足的錯誤。
|
|
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 |
指定目前死結監視順序的識別碼。 不可為 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 內部,也就是硬體輔助虛擬化。 如果執行個體正在主機 OS 上執行,此說明仍然會傳回 HYPERVISOR。 OTHER = SQL Server 執行於沒有採用硬體助理的虛擬機器內部,例如 Microsoft Virtual PC。
|
權限
需要伺服器的 VIEW SERVER STATE 權限。