sys.dm_exec_requests (Transact-SQL)

SQL Server 内で実行中の各要求に関する情報を返します。

注意注意

SQL Server 外部のコード (拡張ストアド プロシージャや分散クエリなど) を実行するには、スレッドを非プリエンプティブ スケジューラの制御外で実行する必要があります。このとき、ワーカーはプリエンプティブ モードに切り替えられます。この動的管理ビューによって返される時間の値には、プリエンプティブ モードで費やされた時間は含まれません。

列名

データ型

説明

session_id

smallint

要求が関係しているセッションの ID。NULL 値は許可されません。

request_id

int

要求の ID。セッションのコンテキスト内で一意です。NULL 値は許可されません。

start_time

datetime

要求到着時のタイムスタンプ。NULL 値は許可されません。

status

nvarchar(30)

要求の状態。次のいずれかになります。

  • Background

  • Running

  • Runnable

  • Sleeping

  • Suspended

NULL 値は許可されません。

command

nvarchar(16)

現在処理中のコマンドの種類。一般的なコマンドの種類には次のものがあります。

  • SELECT

  • INSERT

  • UPDATE

  • DELETE

  • BACKUP LOG

  • BACKUP DB

  • DBCC

  • WAITFOR

要求のテキストを取得するには、対応する sql_handle と共に、要求に対して sys.dm_exec_sql_text を使用します。内部のシステム処理では、実行するタスクの種類に基づいてコマンドが設定されます。このタスクには次のものがあります。

  • LOCK MONITOR

  • CHECKPOINTLAZY

  • WRITER

NULL 値は許可されません。

sql_handle

varbinary(64)

要求の SQL テキストのハッシュ マップ。NULL 値は許可されません。

statement_start_offset

int

現在実行中のバッチまたはストアド プロシージャに含まれる、現在実行中のステートメントが開始されるまでの文字数。sql_handle、statement_end_offset、sys.dm_exec_sql_text 動的管理関数と共に使用して、要求に対して現在実行中のステートメントを取得できます。NULL 値は許可されます。

statement_end_offset

int

現在実行中のバッチまたはストアド プロシージャに含まれる、現在実行中のステートメントが終了するまでの文字数。sql_handle、statement_end_offset、sys.dm_exec_sql_text 動的管理関数と共に使用して、要求に対して現在実行中のステートメントを取得できます。NULL 値は許可されます。

plan_handle

varbinary(64)

SQL 実行プランのハッシュ マップ。NULL 値は許可されます。

database_id

smallint

要求の実行対象データベースの ID。NULL 値は許可されません。

user_id

int

要求を送信したユーザーの ID。NULL 値は許可されません。

connection_id

uniqueidentifier

要求を受信した接続の ID。NULL 値は許可されます。

blocking_session_id

smallint

要求をブロックしているセッションの ID。この列が NULL の場合は、要求がブロックされていないか、ブロックしているセッションのセッション情報が使用または識別できません。

-2 = ブロックしているリソースは、孤立した分散トランザクションが所有しています。

-3 = ブロックしているリソースは、遅延復旧トランザクションが所有しています。

-4 = 内部ラッチの状態遷移のため、ブロックしているラッチの所有者のセッション ID を現時点では特定できませんでした。

wait_type

nvarchar(60)

要求が現在ブロックされている場合の待機の種類。NULL 値は許可されます。

wait_time

int

要求が現在ブロックされている場合の現時点での待機時間 (ミリ秒単位)。NULL 値は許可されません。

last_wait_type

nvarchar(60)

要求がブロックされていた場合の最後の待機の種類。NULL 値は許可されません。

wait_resource

nvarchar(256)

要求が現在ブロックされている場合の現在待機中のリソース。NULL 値は許可されません。

open_transaction_count

int

要求に対して開いているトランザクションの数。NULL 値は許可されません。

open_resultset_count

int

要求に対して開いている結果セットの数。NULL 値は許可されません。

transaction_id

bigint

要求が実行されるトランザクションの ID。NULL 値は許可されません。

context_info

varbinary(128)

セッションの CONTEXT_INFO 値。NULL 値は許可されます。

percent_complete

real

次のコマンドで完了した作業の割合。

  • ALTER INDEX REORGANIZE

  • ALTER DATABASE の AUTO_SHRINK オプション

  • BACKUP DATABASE

  • CREATE INDEX

  • DBCC CHECKDB

  • DBCC CHECKFILEGROUP

  • DBCC CHECKTABLE

  • DBCC INDEXDEFRAG

  • DBCC SHRINKDATABASE

  • DBCC SHRINKFILE

  • KILL (Transact-SQL)

  • RESTORE DATABASE

  • UPDATE STATISTICS

NULL 値は許可されません。

estimated_completion_time

bigint

内部使用のみ。NULL 値は許可されません。

cpu_time

int

要求で使用される CPU 時間 (ミリ秒単位)。NULL 値は許可されません。

total_elapsed_time

int

要求を受信してから経過した総時間 (ミリ秒単位)。NULL 値は許可されません。

scheduler_id

int

この要求のスケジュールを設定しているスケジューラの ID。NULL 値は許可されません。

task_address

varbinary(8)

要求に関連付けられたタスクに割り当てられるメモリ アドレス。NULL 値は許可されます。

reads

bigint

要求で実行された読み取りの数。NULL 値は許可されません。

writes

bigint

要求で実行された書き込みの数。NULL 値は許可されません。

logical_reads

bigint

要求で実行された論理読み取りの数。NULL 値は許可されません。

text_size

int

要求の TEXTSIZE 設定。NULL 値は許可されません。

language

nvarchar(128)

要求の言語設定。NULL 値は許可されます。

date_format

nvarchar(3)

要求の DATEFORMAT 設定。NULL 値は許可されます。

date_first

smallint

要求の DATEFIRST 設定。NULL 値は許可されません。

quoted_identifier

bit

1 = 要求に対して QUOTED_IDENTIFIER が ON です。それ以外の場合は 0 です。

NULL 値は許可されません。

arithabort

bit

1 = 要求に対して ARITHABORT 設定が ON です。それ以外の場合は 0 です。

NULL 値は許可されません。

ansi_null_dflt_on

bit

1 = 要求に対して ANSI_NULL_DFLT_ON 設定が ON です。それ以外の場合は 0 です。

NULL 値は許可されません。

ansi_defaults

bit

1 = 要求に対して ANSI_DEFAULTS 設定が ON です。それ以外の場合は 0 です。

NULL 値は許可されません。

ansi_warnings

bit

1 = 要求に対して ANSI_WARNINGS 設定が ON です。それ以外の場合は 0 です。

NULL 値は許可されません。

ansi_padding

bit

1 = 要求に対して ANSI_PADDING 設定が ON です。

それ以外の場合は 0 です。

NULL 値は許可されません。

ansi_nulls

bit

1 = 要求に対して ANSI_NULLS 設定が ON です。それ以外の場合は 0 です。

NULL 値は許可されません。

concat_null_yields_null

bit

1 = 要求に対して CONCAT_NULL_YIELDS_NULL 設定が ON です。それ以外の場合は 0 です。

NULL 値は許可されません。

transaction_isolation_level

smallint

この要求に対するトランザクションの作成に使用された分離レベル。NULL 値は許可されません。

lock_timeout

int

要求のロック タイムアウトまでの時間 (ミリ秒単位)。NULL 値は許可されません。

deadlock_priority

int

要求の DEADLOCK_PRIORITY 設定。NULL 値は許可されません。

row_count

bigint

要求によってクライアントに返された行数。NULL 値は許可されません。

prev_error

int

要求の実行中に発生した最後のエラー。NULL 値は許可されません。

nest_level

int

要求で実行されているコードの現在の入れ子レベル。NULL 値は許可されません。

granted_query_memory

int

要求でのクエリの実行に割り当てられたページ数。NULL 値は許可されません。

executing_managed_code

bit

特定の要求で、ルーチン、データ型、トリガなどの共通言語ランタイム オブジェクトが現在実行されているかどうかを示します。共通言語ランタイム オブジェクトが共通言語ランタイム内から Transact-SQL を実行した場合でも、共通言語ランタイム オブジェクトがスタックにある間は、このパラメータが必ず設定されます。NULL 値は許可されません。

group_id

int

このクエリが属しているワークロード グループの ID。NULL 値は許可されません。

query_hash

binary(8)

クエリで計算され、同様のロジックを持つクエリを識別するために使用される、バイナリのハッシュ値です。クエリ ハッシュを使用して、リテラル値だけが異なるクエリの全体的なリソース使用率を決定できます。詳細については、「クエリおよびクエリ プラン ハッシュを使用した類似クエリの検索およびチューニング」を参照してください。

query_plan_hash

binary(8)

クエリ実行プランで計算され、同様のクエリ実行プランを識別するために使用される、バイナリのハッシュ値です。クエリ プラン ハッシュを使用して、同様の実行プランを持つクエリの累積コストを確認できます。詳細については、「クエリおよびクエリ プラン ハッシュを使用した類似クエリの検索およびチューニング」を参照してください。

権限

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

注意注意

ユーザーがサーバーに対する VIEW SERVER STATE 権限を所有している場合は、SQL Server のインスタンスで実行中のすべてのセッションが表示されます。それ以外の場合は、現在のセッションだけが表示されます。