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 によって開始されなかったスレッドを実行しているワーカと、実行に使用された時間を特定できます。
メモ : |
---|
次のクエリでは、簡略化のため SELECT ステートメントでアスタリスク (* ) を使用していますが、特にカタログ ビュー、動的管理ビュー、およびシステム テーブル値関数では、アスタリスク (*) を使用しないようにしてください。今後の Microsoft SQL Server のアップグレードおよびリリースで、これらのビューおよび関数に列が追加されて列の順序が変更される可能性があります。このような変更により、特定の順序および列数を必要とするアプリケーションが機能しなくなる場合があります。 |
SELECT *
FROM sys.dm_os_threads
WHERE started_by_sqlservr = 0;
参照
関連項目
動的管理ビューと動的管理関数
sys.dm_os_workers
SQL Server オペレーティング システム関連の動的管理ビュー
その他の技術情報
ヘルプおよび情報
変更履歴
リリース
履歴
2005 年 12 月 5 日
項目
定義
追加内容例を追加。