接続とセッションの違いは何ですか?


51

接続とセッションの違いとそれらの関係はどうなっていますか?

回答:


54

接続は、SQL Serverとアプリケーション間の物理的な通信チャネルです:TCPソケット、名前付きパイプ、共有メモリ領域。SQL Serverのセッションは、ウィキペディアのセッションの定義に対応しています。情報交換の状態の半永久的なコンテナです。言い換えると、セッションには、ログイン情報のキャッシュ、現在のトランザクション分離レベル、セッションレベルSETなどの設定が保存されます。

通常、各接続には1つのセッションがありますが、単一の接続(複数のアクティブな結果セット、MARS)に複数のセッションがあり、接続のないセッション(SSBアクティブ化プロシージャシステムセッション)があります。セッションなしの接続、つまり、データベースミラーリングsys.dm_db_mirroring_connectionsやService Broker接続など、TDS以外の目的で使用される接続もありsys.dm_broker_connectionsます。


(驚-のノイズ)SSMSがMARSを使用しているため、開いている各ファイルタブで異なるセッションを使用しているため、#tempテーブルがセッションスコープであるため、異なる開いているファイルタブでテーブルを削除または選択できないことがわかった場合。
GibralterTop

4
  • 接続は、ネットワークを介した、または共有メモリを介したローカルなサーバーへの接続を表します。

  • セッションは、SQL Server内のユーザープロセスを表します。

  • 接続は、1つ以上のセッションとリンクされる場合があります。


3

sys.dm_exec_sessions動的管理ビューを照会して、SQL Server 2012インスタンスで一般的な基準への準拠が有効になっている場合のログインの成功および失敗に関する情報を取得できます。

sys.dm_exec_connections動的管理ビューは、データベースエンジンインスタンスに対して確立された接続に関する情報を提供します。SQL Server 2012インスタンスで一般的な基準への準拠が有効になっている場合、ログインの成功および失敗に関する情報についてこの動的管理ビューをクエリすることはできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.