sys.sysprocesses (Transact-SQL)
SQL Server のインスタンスで実行されているプロセスの情報を保持します。これらのプロセスは、クライアント プロセスでもシステム プロセスでもかまいません。sysprocesses にアクセスするには、master データベースのコンテキストからアクセスするか、3 つの要素から成る名前 (master.dbo.sysprocesses) を使用する必要があります。
重要 |
---|
この SQL Server 2000 システム テーブルは、下位互換性を保つためにビューとして含まれています。代わりに、現在の SQL Server システム ビューを使用することをお勧めします。対応するシステム ビューを調べるには、「SQL Server 2005 システム ビューへの SQL Server 2000 システム テーブルのマッピング」を参照してください。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。 |
列名 |
データ型 |
説明 |
---|---|---|
spid |
smallint |
SQL Server セッション ID です。 |
kpid |
smallint |
Windows のスレッド ID です。 |
blocked |
smallint |
要求をブロックしているセッションの ID です。この列が NULL の場合は、要求がブロックされていないか、ブロックしているセッションのセッション情報が使用または識別できません。 -2 = ブロックしているリソースは、孤立した分散トランザクションが所有しています。 -3 = ブロックしているリソースは、遅延復旧トランザクションが所有しています。 -4 = 内部ラッチの状態遷移のため、ブロックしているラッチの所有者のセッション ID を特定できませんでした。 |
waittype |
binary(2) |
予約済みです。 |
waittime |
bigint |
現在の待機時間 (ミリ秒単位) です。 0 = プロセスは待機していません。 |
lastwaittype |
nchar(32) |
最後または現在の待機の種類の名前を示す文字列です。 |
waitresource |
nchar(256) |
ロックされているリソースのテキスト表示です。 |
dbid |
smallint |
プロセスが現在使用しているデータベースの ID です。 |
uid |
smallint |
コマンドを実行したユーザーの ID です。ユーザーとロールの数が 32,767 を超える場合は、オーバーフローが発生するか NULL が返されます。詳細については、「SQL Server システム カタログに対するクエリ」を参照してください。 |
cpu |
int |
プロセスの累積 CPU 時間です。このエントリは、SET STATISTICS TIME オプションがオンかオフかにかかわらず、すべてのプロセスについて更新されます。 |
physical_io |
bigint |
そのプロセスの累積ディスク読み書き数です。 |
memusage |
int |
このプロセスに現在割り当てられているプロシージャ キャッシュのページ数です。負の値であれば、プロセスが他のプロセスから割り当てられたメモリを解放していることになります。 |
login_time |
datetime |
クライアント プロセスがサーバーにログインした時刻です。システム プロセスの場合、SQL Server が起動した時刻が保存されます。 |
last_batch |
datetime |
クライアント プロセスがリモート ストアド プロシージャ コールまたは EXECUTE ステートメントを前回実行した時刻です。システム プロセスの場合、SQL Server が起動した時刻が保存されます。 |
ecid |
smallint |
単一プロセスに代わって動作しているサブスレッドを一意に識別するために使用する実行コンテキスト ID です。 |
open_tran |
smallint |
プロセスのオープン トランザクションの数です。 |
status |
nchar(30) |
プロセス ID の状態です。可能な値は次のとおりです。 dormant = SQL Server でセッションがリセットされています。 running = セッションで 1 つ以上のバッチが実行中です。複数のアクティブな結果セット (MARS) が有効な場合、1 回のセッションで複数のバッチを実行できます。詳細については、「複数のアクティブな結果セット (MARS) の使用」を参照してください。 background = セッションで、デッドロック検出などのバックグラウンド タスクが実行中です。 rollback = セッションでトランザクション ロールバックが実行中です。 pending = セッションは、ワーカー スレッドが使用可能になるのを待機しています。 runnable = セッションのタスクはスケジューラの実行可能なキューにあり、クォンタムの取得を待機しています。 spinloop = セッションのタスクはスピンロックの空きを待機しています。 suspended = セッションは I/O などのイベントの完了を待機しています。 |
sid |
binary(86) |
ユーザーのグローバル一意識別子 (GUID) です。 |
hostname |
nchar(128) |
ワークステーション名です。 |
program_name |
nchar(128) |
アプリケーション プログラム名です。 |
hostprocess |
nchar(10) |
ワークステーションのプロセス ID 番号です。 |
cmd |
nchar(16) |
現在実行中のコマンドです。 |
nt_domain |
nchar(128) |
クライアント (Windows 認証を使用している場合)、または信頼関係接続の Windows ドメインです。 |
nt_username |
nchar(128) |
プロセス (Windows 認証を使用している場合)、または信頼関係接続の Windows ユーザー名です。 |
net_address |
nchar(12) |
各ユーザーのワークステーションにあるネットワーク アダプターに割り当てられている一意識別子です。ユーザーがログインすると、この識別子が net_address 列に挿入されます。 |
net_library |
nchar(12) |
クライアントのネットワーク ライブラリが保存される列です。各クライアント プロセスはネットワーク接続を行います。ネットワーク接続には関係するネットワーク ライブラリがあり、これによって接続が行われます。詳細については、「ネットワーク プロトコルと TDS エンドポイント」を参照してください。 |
loginame |
nchar(128) |
ログイン名です。 |
context_info |
binary(128) |
SET CONTEXT_INFO ステートメントを使用してバッチに格納されるデータです。 |
sql_handle |
binary(20) |
現在実行されているバッチまたはオブジェクトを表します。 注 : この値は、オブジェクトのバッチまたはメモリ アドレスから取得するもので、SQL Server ハッシュ アルゴリズムを使用して計算するものではありません。 |
stmt_start |
int |
指定した sql_handle の現在の SQL ステートメントの開始オフセットです。 |
stmt_end |
int |
指定した sql_handle の現在の SQL ステートメントの終了オフセットです。 -1 = 現在のステートメントは、指定した sql_handle に対して fn_get_sql 関数が返す結果の最後まで実行されます。 |
request_id |
int |
要求の ID です。特定のセッションで実行されている要求を識別するために使用されます。 |
説明
ユーザーがサーバーに対する VIEW SERVER STATE 権限を所有している場合は、SQL Server のインスタンスで実行中のすべてのセッションが表示されます。この権限を所有していない場合は、現在のセッションだけが表示されます。