Condividi tramite


sys.dm_os_hosts (Transact-SQL)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)

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

Nota

Per chiamare questa operazione da Azure Synapse Analytics o da Platform System (PDW), usare il nome sys.dm_pdw_nodes_os_hosts. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

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 dall'host nelle code in SQL Server.
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 altre informazioni, vedi sys.dm_os_memory_clerks (Transact-SQL).
pdw_node_id int Si applica a: Azure Synapse Analytics, Piattaforma di analisi (PDW)

Identificatore del nodo in cui è attiva la distribuzione.

Autorizzazioni

In SQL Server e Istanza gestita di SQL è richiesta l'autorizzazione VIEW SERVER STATE.

In database SQL obiettivi di servizio Basic, S0 e S1 e per i database nei pool elastici, è necessario l'account amministratore del server, l'account amministratore di Microsoft Entra o l'appartenenza al ruolo del ##MS_ServerStateReader## server. Per tutti gli altri obiettivi di servizio database SQL, è necessaria l'autorizzazione VIEW DATABASE STATE per il database o l'adesione ruolo del server ##MS_ServerStateReader##.

Autorizzazioni per SQL Server 2022 e versioni successive

È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE per il server.

Osservazioni:

SQL Server consente ai componenti, ad esempio un provider OLE DB, che non fanno parte dell'eseguibile di SQL Server di allocare memoria e partecipare alla pianificazione non preemptive. Questi componenti sono ospitati da SQL Server e vengono rilevate tutte le risorse allocate da questi componenti. L'hosting consente a SQL Server di tenere conto delle risorse usate dai componenti esterni all'eseguibile di SQL Server.

Cardinalità delle relazioni

Da Per Relationship
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.

Si applica a: SQL Server 2012 (11.x) e versioni successive.
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;  

Vedi anche

sys.dm_os_memory_clerks (Transact-SQL)
Viste a gestione dinamica correlate al sistema operativo SQL Server (Transact-SQL)