• 締切済み

データベース SQL のセッションIDについて!!

Select @@spid as セッションID このSQL文で出来ることを教えてください。 他のサイトで @@SPID この変数(サーバー プロセス ID)は、Pervasive PSQL 接続のシステム スレッドの ID を示す整数値を返します。 例は、402 などの整数の ID と書いてありました。 また、セッションIDについてもいまいちわからず調べたのですがjavaのセッションにつて とかが、いっぱい出てきました。セッションとセッションIDは、別物なのでしょうか? セッションIDとは、SQL文を実行した時の番号みたいなものでしょうか? よろしくお願いします。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

セッション番号はSQLを実行するときの番号というよりも、SQL Serverとの間に確立されている接続の番号というふうに理解してください。 もちろん、SQL Serverにログインするたびに割り当てられるのですが、1ログイン1個割り当てられるわけではありません。 たとえば、SSMSを開いてクエリを実行したとすれば、左の方に「オブジェクトエクスプローラ」を表示するのに1つ、クエリ実行画面を1つ開くと1つ、という風に割り当てられていきます(それぞれ1セッション使っているわけです)。Accessでリンクテーブルなどを使ってアクセスすると、1つのリンクテーブルにアクセスするたびに1セッション割り当てられます。 上記以外にも、SQL Serverデータベースエンジン自体も常時もしくは定期的にSQL Serverとのセッションを使っています。 そのあたりの情報は「利用状況モニタ」もしくは「sys.dm_exec_sessions」というシステムビューで確認できます。

関連するQ&A