適用対象:SQL Server
Azure SQL データベース
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Server のインスタンスに現在登録されているすべてのホストを返します。 このビューでは、ホストで使用されているリソースも返されます。
Note
Azure Synapse Analyticsから呼ぶ場合は、sys.dm_pdw_nodes_os_hostsという名前を使います。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
| 列名 | データの種類 | Description |
|---|---|---|
| host_address | varbinary(8) | ホスト オブジェクトの内部メモリ アドレス。 |
| タイプ | nvarchar(60) | ホストされるコンポーネントの種類。 たとえば、 SOSHOST_CLIENTID_SERVERSNI= SQL Server ネイティブ インターフェイス SOSHOST_CLIENTID_SQLOLEDB = SQL Server ネイティブクライアント OLE DB プロバイダー SOSHOST_CLIENTID_MSDART = Microsoft Data Access の実行時 |
| 名前 | 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 このディストリビューションがオンになっているノードの識別子。 |
Permissions
SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。
SQL Database の Basic、S0、S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。
SQL Server 2022 以降でのアクセス許可
サーバー VIEW PERFORMANCE STATE権限が必要です。
注釈
SQL Server を使用すると、SQL Server 実行可能ファイルの一部ではない OLE DB プロバイダーなどのコンポーネントがメモリを割り当て、非プリエンプティブ スケジューリングに参加できます。 これらのコンポーネントは SQL Server によってホストされ、これらのコンポーネントによって割り当てられたすべてのリソースが追跡されます。 ホスティングを使用すると、SQL Server 実行可能ファイルの外部のコンポーネントによって使用されるリソースをより適切に考慮できます。
リレーションシップカーディナリティ
| 差出人 | 〜へ | Relationship |
|---|---|---|
| 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 |
Examples
次の例では、ホストされているコンポーネントによってコミットされたメモリの合計量を決定します。
| 適用対象: SQL Server 2012 (11.x) 以降。 |
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;