sys.dm_os_hosts (Transact-SQL)

傳回所有目前在 SQL Server 執行個體登錄的主機。 這份檢視也會傳回這些主機所用的資源。

適用於:SQL Server (SQL Server 2008 至目前版本)。

資料行名稱

資料類型

描述

host_address

varbinary(8)

主物件的內部記憶體位址。

型別

nvarchar(60)

主控的元件類型。 例如,

SOSHOST_CLIENTID_SERVERSNI= SQL Server Native Interface

SOSHOST_CLIENTID_SQLOLEDB = SQL Server Native Client OLE DB 提供者

SOSHOST_CLIENTID_MSDART = Microsoft Data Access Run Time

name

nvarchar(32)

主機的名稱。

enqueued_tasks_count

int

這個主機置於 SQL Server 中之佇列的工作總數。

active_tasks_count

int

這個主機置於佇列中而目前正在執行的工作總數。

completed_ios_count

int

透過這個主機發出和完成的 I/O 總數。

completed_ios_in_bytes

bigint

透過這個主機完成的 I/O 總位元組計數。

active_ios_count

int

與這個主機相關而目前在等待完成的 I/O 要求總數。

default_memory_clerk_address

varbinary(8)

與這個主機相關聯之記憶體 Clerk 物件的記憶體位址。 如需詳細資訊,請參閱<sys.dm_os_memory_clerks (Transact-SQL)>。

權限

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

備註

SQL Server 允許不屬於 SQL Server 可執行檔一部分的元件 (例如 OLE DB 提供者) 配置記憶體,以及參與非先佔式排程。 這些元件會由 SQL Server 主控,並且這些元件所配置的所有資源都會進行追蹤。 主控可讓 SQL Server 更有效地管理 SQL Server 可執行檔之外部元件所使用的資源。

關聯性基數

關聯性

sys.dm_os_hosts. default_memory_clerk_address

sys.dm_os_memory_clerks. memory_clerk_address

一對一

sys.dm_os_hosts. host_address

sys.dm_os_memory_clerks. host_address

一對一

範例

下列範例會判斷由主控元件認可的記憶體總數。

SELECT h.type, SUM(single_pages_kb + multi_pages_kb) AS commited_memory
FROM sys.dm_os_memory_clerks AS mc 
INNER JOIN sys.dm_os_hosts AS h 
    ON mc.memory_clerk_address = h.default_memory_clerk_address
GROUP BY h.type;

請參閱

參考

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

sys.dm_os_memory_clerks (Transact-SQL)

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