Compartilhar via


sys.dm_os_hosts (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Retorna todos os hosts atualmente registrados em uma instância do SQL Server. Esta exibição também retorna os recursos usados por esses hosts.

Observação

Para chamar isso do Azure Synapse Analytics ou do PDW (Analytics Platform System), use o nome sys.dm_pdw_nodes_os_hosts. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Descrição
host_address varbinary(8) Endereço de memória interna do objeto de host.
tipo nvarchar(60) Tipo de componente hospedado. Por exemplo,

SOSHOST_CLIENTID_SERVERSNI= SQL Server Native Interface

SOSHOST_CLIENTID_SQLOLEDB = SQL Server Native Client OLE DB Provider

SOSHOST_CLIENTID_MSDART = Microsoft Data Access Run Time
name nvarchar(32) Nome do host.
enqueued_tasks_count int Número total de tarefas que esse host colocou em filas no SQL Server.
active_tasks_count int Número de tarefas em execução atualmente que o host colocou nas filas.
completed_ios_count int Número total de E/S emitidas e concluídas por meio deste host.
completed_ios_in_bytes bigint Contagem total de bytes das E/S concluídas por meio deste host.
active_ios_count int Número total de solicitações de E/S relacionadas a este host que neste momento está aguardando conclusão.
default_memory_clerk_address varbinary(8) Endereço da memória do objeto de administrador de memória associado a este host. Para obter mais informações, confira sys.dm_os_memory_clerks (Transact-SQL).
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que essa distribuição está ativada.

Permissões

No SQL Server e na Instância Gerenciada de SQL, requer a permissão VIEW SERVER STATE.

Nos objetivos de serviço do Banco de Dados SQL Básico, S0 e S1 e para bancos de dados em pools elásticos, é necessário ter a conta do administrador do servidor, a conta do administrador do Microsoft Entra ou a associação à ##MS_ServerStateReader## função de servidor. Em todos os outros objetivos de serviço do Banco de Dados SQL, a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader## são necessárias.

Permissões do SQL Server 2022 e posteriores

É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Comentários

O SQL Server permite que componentes, como um provedor OLE DB, que não fazem parte do executável do SQL Server aloquem memória e participem do agendamento não preemptivo. Esses componentes são hospedados pelo SQL Server e todos os recursos alocados por esses componentes são rastreados. A hospedagem permite que o SQL Server considere melhor os recursos usados por componentes externos ao executável do SQL Server.

Cardinalidades de relações

De Para Relação
sys.dm_os_hosts. default_memory_clerk_address sys.dm_os_memory_clerks. memory_clerk_address um para um
sys.dm_os_hosts. host_address sys.dm_os_memory_clerks. host_address um para um

Exemplos

O exemplo seguinte determina a quantidade total de memória confirmada por um componente hospedado.

Aplica-se a: SQL Server 2012 (11.x) e posterior.
SELECT h.type, SUM(mc.pages_kb) AS committed_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;  

Confira também

sys.dm_os_memory_clerks (Transact-SQL)
Exibições de gerenciamento dinâmico relacionadas ao sistema operacional do SQL Server (Transact-SQL)