sys.dm_os_hosts (Transact-SQL)

返回当前在 SQL Server 实例中注册的所有主机。 该视图还返回这些主机使用的资源。

列名

数据类型

说明

host_address

varbinary(8)

主机对象的内部内存地址。

类型

nvarchar(60)

宿主组件的类型。 例如:

SOSHOST_CLIENTID_SERVERSNI = SQL Server 本机接口

SOSHOST_CLIENTID_SQLOLEDB = SQL Server Native Client OLE DB 访问接口

SOSHOST_CLIENTID_MSDART = Microsoft 数据访问运行时

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)

与该主机相关的内存分配器对象的内存地址。 有关详细信息,请参阅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

一对一

示例

以下示例可确定由宿主组件调配的内存总量。

适用范围:SQL Server 2012 至 SQL Server 2012。

SELECT h.type, SUM(mc.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)