次の方法で共有


sys.dm_os_threads

更新 : 2005 年 12 月 5 日

SQL Server プロセスで実行されている SQL Server オペレーティング システム スレッドの一覧を返します。

列名 データ型 説明

thread_address

varbinary(8)

スレッドのメモリ アドレス (主キー)。

started_by_sqlservr

bit

スレッドの開始元。

1 = SQL Server

0 =SQL Server 内の拡張ストアド プロシージャなど、他のコンポーネント

os_thread_id

int

オペレーティング システムによって割り当てられたスレッドの ID。

status

int

内部状態フラグ。

instruction_address

varbinary(8)

現在実行されている命令のアドレス。

creation_time

datetime

スレッドが作成された日時。

kernel_time

bigint

スレッドで使用されたカーネル時間。

usermode_time

bigint

スレッドで使用されたユーザー時間。

stack_base_address

varbinary(8)

スレッドにおける最上位のスタック アドレスのメモリ アドレス。

stack_end_address

varbinary(8)

スレッドにおける最下位のスタック アドレスのメモリ アドレス。

stack_bytes_committed

int

スタックでコミットされたバイト数。

stack_bytes_used

int

スレッドでアクティブに使用されているバイト数。

affinity

bigint

スレッドの実行が予定されている CPU マスク。sp_configureaffinity mask 構成オプションの値によって異なります。

locale

int

スレッド用にキャッシュされているロケール LCID。

priority

int

スレッドの優先度値。

token

varbinary(8)

スレッド用にキャッシュされている権限借用トークン ハンドル。

is_impersonating

int

スレッドで Win32 権限借用が使用されているかどうかを示します。

1 = スレッドではプロセスの既定値と異なるセキュリティ資格情報が使用されています。これは、プロセスを作成したエンティティとは異なるエンティティの権限をスレッドで借用していることを示します。

is_waiting_on_loader_lock

int

スレッドでローダー ロックを待機中かどうかを示す、オペレーティング システムの状態。

fiber_data

varbinary(8)

スレッドで実行されている現在の Win32 ファイバ。これは、SQL Server が簡易プーリング用に構成されている場合にのみ該当します。

thread_handle

varbinary(8)

内部使用のみ。

event_handle

varbinary(8)

内部使用のみ。

scheduler_address

varbinary(8)

スレッドに関連付けられているスケジューラのメモリ アドレス。詳細については、「sys.dm_os_schedulers」を参照してください。

worker_address

varbinary(8)

スレッドにバインドしているワーカーのメモリ アドレス。詳細については、「sys.dm_os_workers」を参照してください。

fiber_context_address

varbinary(8)

内部ファイバ コンテキスト アドレス。これは、SQL Server が簡易プーリング用に構成されている場合にのみ該当します。

self_address

varbinary(8)

内部一貫性ポインタ。

権限

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

SQL Server では、起動時にスレッドが開始され、これらのスレッドとワーカが関連付けられますが、拡張ストアド プロシージャなどの外部コンポーネントでは、SQL Server プロセスでスレッドを開始できます。SQL Server で、これらのスレッドを制御することはできません。sys.dm_os_threads で、SQL Server プロセスのリソースを消費する、問題のあるスレッドに関する情報を確認できます。

次のクエリを使用すると、SQL Server によって開始されなかったスレッドを実行しているワーカと、実行に使用された時間を特定できます。

ms187818.note(ja-jp,SQL.90).gifメモ :
次のクエリでは、簡略化のため SELECT ステートメントでアスタリスク (*) を使用していますが、特にカタログ ビュー、動的管理ビュー、およびシステム テーブル値関数では、アスタリスク (*) を使用しないようにしてください。今後の Microsoft SQL Server のアップグレードおよびリリースで、これらのビューおよび関数に列が追加されて列の順序が変更される可能性があります。このような変更により、特定の順序および列数を必要とするアプリケーションが機能しなくなる場合があります。
SELECT *
  FROM sys.dm_os_threads
  WHERE started_by_sqlservr = 0;

参照

関連項目

動的管理ビューと動的管理関数
sys.dm_os_workers
SQL Server オペレーティング システム関連の動的管理ビュー

その他の技術情報

メモリ アーキテクチャ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース

履歴

2005 年 12 月 5 日

項目

定義

追加内容例を追加。