sys.dm_os_hosts (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server のインスタンスに現在登録されているすべてのホストを返します。 このビューでは、ホストで使用されているリソースも返されます。

Note

これを Azure Synapse Analytics または Analytics Platform System (PDW) から呼び出すには、 sys.dm_pdw_nodes_os_hostsという名前を使用します。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データ型 説明
host_address varbinary(8) ホスト オブジェクトの内部メモリ アドレス。
type nvarchar(60) ホストされるコンポーネントの種類。 たとえば、 にします。

SOSHOST_CLIENTID_SERVERSNI= SQL Server ネイティブ インターフェイス

SOSHOST_CLIENTID_SQLOLEDB = SQL Server Native Client OLE DB Provider

SOSHOST_CLIENTID_MSDART = Microsoft Data Access の実行時
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)」をご覧ください。
pdw_node_id int 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW)

このディストリビューションがオンになっているノードの識別子。

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database BasicS0、および S1 サービス目標、および弾性プール内のデータベースの場合サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または##MS_ServerStateReader## サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

解説

SQL Server を使用すると、SQL Server 実行可能ファイルの一部ではない OLE DB プロバイダーなどのコンポーネントがメモリを割り当て、非プリエンプティブ スケジューリングに参加できます。 これらのコンポーネントは SQL Server によってホストされ、これらのコンポーネントによって割り当てられたすべてのリソースが追跡されます。 ホスティングを使用すると、SQL Server 実行可能ファイルの外部のコンポーネントによって使用されるリソースをより適切に考慮できます。

リレーションシップカーディナリティ

ソース ターゲット 関係
sys.dm_os_hosts. default_memory_clerk_address sys.dm_os_memory_clerks。 memory_clerk_address 1 対 1
sys.dm_os_hosts. host_address sys.dm_os_memory_clerks。 host_address 1 対 1

次の例では、ホストされているコンポーネントによってコミットされたメモリの合計量を決定します。

適用対象: SQL Server 2012 (11.x) 以降。
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;  

関連項目

sys.dm_os_memory_clerks (Transact-SQL)
SQL Server オペレーティングシステム関連の動的管理ビュー (Transact-sql)