Condividi tramite


sys.dm_os_hosts (Transact-SQL)

Restituisce tutti gli host registrati in un'istanza di SQL Server. Questa vista restituisce inoltre le risorse utilizzate da tali host.

Nome colonna

Tipo di dati

Descrizione

host_address

varbinary(8)

Indirizzo di memoria interna dell'oggetto host.

type

nvarchar(60)

Tipo di componente hosted. Ad esempio:

SOSHOST_CLIENTID_SERVERSNI= Interfaccia di SQL Server Native

SOSHOST_CLIENTID_SQLOLEDB = Provider OLE DB di SQL Server Native Client

SOSHOST_CLIENTID_MSDART = Esecuzione Microsoft Data Access

name

nvarchar(32)

Nome dell'host.

enqueued_tasks_count

int

Numero totale di attività inserite nelle code di SQL Server dall'host.

active_tasks_count

int

Numero di attività in esecuzione inserite nelle code dall'host.

completed_ios_count

int

Numero totale di I/O eseguiti e completati tramite l'host.

completed_ios_in_bytes

bigint

Numero totale di byte degli I/O eseguiti tramite l'host.

active_ios_count

int

Numero totale di richieste di I/O relative all'host in attesa di essere completate.

default_memory_clerk_address

varbinary(8)

Indirizzo di memoria dell'oggetto clerk di memoria associato all'host. Per ulteriori informazioni, vedere sys.dm_os_memory_clerks (Transact-SQL).

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

Osservazioni

SQL Server consente ai componenti, ad esempio un provider OLE DB, che non fanno parte del file eseguibile di SQL Server di allocare memoria e partecipare a una pianificazione in modalità non preemptive. Tali componenti sono ospitati da SQL Server e tutte le risorse allocate da tali componenti vengono rilevate. L'hosting consente a SQL Server di tenere traccia delle risorse utilizzate dai componenti esterni al file eseguibile di SQL Server.

Cardinalità delle relazioni

Da

A

Relazione

sys.dm_os_hosts. default_memory_clerk_address

sys.dm_os_memory_clerks. memory_clerk_address

Uno-a-uno

sys.dm_os_hosts. host_address

sys.dm_os_memory_clerks. host_address

Uno-a-uno

Esempi

Nell'esempio seguente viene determinata la quantità totale di memoria di cui un componente hosted ha eseguito il commit.

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;