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;