Quelle est la différence entre une connexion et une session?


51

Quelle est la différence entre une connexion et une session et comment ils sont liés?

Réponses:


54

La connexion est le canal de communication physique entre SQL Server et l'application: le socket TCP, le canal nommé, la région de mémoire partagée. La session dans SQL Server correspond à la définition d'une session dans Wikipedia : un conteneur d'état semi-permanent pour un échange d'informations. En d'autres termes, les sessions stockent des paramètres tels que le cache de vos informations de connexion, le niveau actuel d'isolation de transaction, les SETvaleurs de niveau de session, etc.

Normalement, il y a une session sur chaque connexion, mais il peut y avoir plusieurs sessions sur une seule connexion ( plusieurs ensembles de résultats actifs , MARS) et certaines sessions ne disposent d'aucune connexion ( procédures activées par SSB , sessions système ). Il existe également des connexions sans sessions, notamment des connexions utilisées à des fins autres que TDS, telles que la mise en miroir de bases de données sys.dm_db_mirroring_connectionsou les connexions Service Broker sys.dm_broker_connections.


(Bruit époustouflant) Lorsque vous réalisez que SSMS utilise MARS et par conséquent différentes sessions sur chaque onglet de fichier ouvert, #tempvous ne pouvez pas supprimer ou sélectionner des tables dans différents onglets de fichier ouverts car elles sont limitées à la session.
GibralterTop

4
  • La connexion représente la connexion au serveur via un réseau ou localement via la mémoire partagée.

  • Une session représente un processus utilisateur dans SQL Server.

  • Une connexion peut être liée à zéro ou à plus d'une session.


3

Vous pouvez interroger les vues de gestion dynamique sys.dm_exec_sessions pour obtenir des informations sur les connexions réussies et les tentatives infructueuses lorsque la conformité aux critères communs est activée sur une instance SQL Server 2012.

La vue de gestion dynamique sys.dm_exec_connections fournit des informations sur les connexions établies avec l'instance du moteur de base de données. Vous ne pouvez pas interroger cette vue de gestion dynamique pour obtenir des informations sur les connexions réussies et non réussies lorsque la conformité aux critères communs est activée sur une instance SQL Server 2012.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.