sys.sysprocesses (Transact-SQL)

更新 : 2006 年 4 月 14 日

Microsoft SQL Server のインスタンスで実行されているプロセスの情報を保持します。これらのプロセスは、クライアント プロセスでもシステム プロセスでもかまいません。sysprocesses にアクセスするには、master データベースのコンテキストからアクセスするか、3 つの要素から成る名前 (master.dbo.sysprocesses) を使用する必要があります。

ms179881.note(ja-jp,SQL.90).gif重要 :
この SQL Server 2000 システム テーブルは、下位互換性を保つためにビューとして含まれています。代わりに、現在の SQL Server システム ビューを使用することをお勧めします。対応するシステム ビューを調べるには、「SQL Server 2005 システム ビューへの SQL Server 2000 システム テーブルのマッピング」を参照してください。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。
列名 データ型 説明

spid

smallint

SQL Server セッション ID です。

kpid

smallint

Microsoft Windows のスレッド ID です。

blocked

smallint

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

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

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

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

waittype

binary(2)

予約済みです。

waittime

bigint

現在の待機時間 (ミリ秒単位) です。

0 = プロセスは待機していません。

lastwaittype

nchar(32)

最後または現在の待機の種類の名前を示す文字列です。

waitresource

nchar(32)

ロックされているリソースのテキスト表示です。

dbid

smallint

プロセスが現在使用しているデータベースの ID です。

uid

smallint

コマンドを実行したユーザーの ID です。ユーザーとロールの数が 32,767 を超える場合は、オーバーフローが発生するか NULL が返されます。詳細については、「SQL Server システム カタログに対するクエリ」を参照してください。

cpu

int

プロセスの累積 CPU 時間です。このエントリは、SET STATISTICS TIME オプションがオンかオフかにかかわらず、すべてのプロセスについて更新されます。

physical_io

int

そのプロセスの累積ディスク読み書き数です。

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 認証を使用している場合)、または信頼関係接続の Microsoft 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 2005 ハッシュ アルゴリズムを使用して計算するものではありません。

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 のインスタンスで実行中のすべてのセッションが表示されます。この権限を所有していない場合は、現在のセッションだけが表示されます。

参照

関連項目

SQL Server 2000 システム テーブルから SQL Server 2005 システム ビューへのマッピング
互換性ビュー (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース

履歴

2006 年 4 月 14 日

用語

定義

新しい内容 :

  • 値の計算方法について、sql_handle に情報を追加。

2005 年 12 月 5 日

項目

定義

変更内容

  • blocked 列の定義を拡張。
  • status 列の定義を拡張。