¿Cuál es la diferencia entre una conexión y una sesión?


51

¿Cuál es la diferencia entre una conexión y una sesión y cómo se relacionan?

Respuestas:


54

La conexión es el canal de comunicación física entre SQL Server y la aplicación: el socket TCP, la tubería con nombre, la región de memoria compartida. La sesión en SQL Server corresponde a la definición de Wikipedia de una sesión : un contenedor de estado semipermanente para un intercambio de información. En otras palabras, las sesiones almacenan configuraciones como caché de su información de inicio de sesión, nivel de aislamiento de transacción actual, valores de nivel de sesión,SET etc.

Normalmente hay una sesión en cada conexión, pero podría haber varias sesiones en una sola conexión ( Conjuntos de resultados activos múltiples , MARS) y hay sesiones que no tienen conexión ( procedimientos activados por SSB , sesiones del sistema ). También hay conexiones sin sesiones, es decir, conexiones utilizadas para fines que no son de TDS, como la duplicación de bases de datos sys.dm_db_mirroring_connectionso conexiones de Service Broker sys.dm_broker_connections.


(ruido alucinante) Cuando te das cuenta de que SSMS está usando MARS y, por lo tanto, diferentes sesiones en cada pestaña de archivo abierto y es por eso que las #temptablas no se pueden descartar o seleccionar en diferentes pestañas de archivo abierto porque tienen un alcance de sesión.
GibralterTop

4
  • La conexión representa la conexión al servidor a través de una red o localmente a través de la memoria compartida.

  • Una sesión representa un proceso de usuario dentro de SQL Server.

  • Una conexión puede estar vinculada con cero o más de una sesión.


3

Puede consultar las vistas de administración dinámica sys.dm_exec_sessions para obtener información sobre inicios de sesión exitosos y no exitosos cuando el cumplimiento de criterios comunes está habilitado en una instancia de SQL Server 2012.

La vista de administración dinámica sys.dm_exec_connections proporciona información sobre las conexiones establecidas a la instancia del Motor de base de datos. No puede consultar esta vista de administración dinámica para obtener información sobre inicios de sesión exitosos y no exitosos cuando el cumplimiento de criterios comunes está habilitado en una instancia de SQL Server 2012.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.