sys.dm_os_hosts (Transact-SQL)

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

列名

データ型

説明

host_address

varbinary(8)

ホスト オブジェクトの内部メモリ アドレス。

nvarchar(60)

ホストされるコンポーネントの種類。 例を次に示します。

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

SOSHOST_CLIENTID_SQLOLEDB = SQL Server Native Client OLE DB プロバイダー

SOSHOST_CLIENTID_MSDART = Microsoft Data Access Run Time

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)」を参照してください。

権限

サーバーに対する VIEW SERVER STATE 権限が必要です。

説明

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

リレーションシップの基数

変換前

変換先

リレーションシップ

sys.dm_os_hosts. default_memory_clerk_address

sys.dm_os_memory_clerks. memory_clerk_address

一対一

sys.dm_os_hosts. host_address

sys.dm_os_memory_clerks. host_address

一対一

使用例

次の例では、ホストされるコンポーネントによって使用されているメモリの総量を調べます。

適用対象:SQL Server 2012 から SQL Server 2012。

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;

関連項目

参照

動的管理ビューおよび関数 (Transact-SQL)

sys.dm_os_memory_clerks (Transact-SQL)

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