jrara Asked: 2012-02-23 11:37:00 +0800 CST2012-02-23 11:37:00 +0800 CST 2012-02-23 11:37:00 +0800 CST 连接和会话有什么区别? 772 连接和会话之间有什么区别以及它们之间的关系? sql-server connections 3 个回答 Voted Best Answer Remus Rusanu 2012-02-23T12:10:16+08:002012-02-23T12:10:16+08:00 连接是 SQL Server 和应用程序之间的物理通信通道:TCP 套接字、命名管道、共享内存区域。SQL Server 中的会话对应于 Wikipedia 中的会话定义:用于信息交换的半永久状态容器。换句话说,会话存储登录信息缓存、当前事务隔离级别、会话级别SET值等设置。 通常每个连接上都有一个会话,但单个连接上可能有多个会话(多个活动结果集,MARS),并且有些会话没有连接(SSB 激活过程,系统会话)。还有一些无会话的连接,即用于非 TDS 目的的连接,如数据库镜像sys.dm_db_mirroring_connections或 Service Broker 连接sys.dm_broker_connections。 Mihir 2017-01-04T23:02:07+08:002017-01-04T23:02:07+08:00 Connection 表示通过网络或本地通过共享内存连接到服务器。 会话代表 SQL Server 中的用户进程。 一个连接可以与零个或多个会话链接。 Phil Mccormack 2016-01-20T21:11:22+08:002016-01-20T21:11:22+08:00 您可以查询 sys.dm_exec_sessions 动态管理视图以了解有关在 SQL Server 2012 实例上启用通用标准合规性时成功和不成功登录的信息。 sys.dm_exec_connections 动态管理视图提供有关建立到数据库引擎实例的连接的信息。在 SQL Server 2012 实例上启用通用标准合规性时,您无法查询此动态管理视图以获取有关成功和不成功登录的信息。
连接是 SQL Server 和应用程序之间的物理通信通道:TCP 套接字、命名管道、共享内存区域。SQL Server 中的会话对应于 Wikipedia 中的会话定义:用于信息交换的半永久状态容器。换句话说,会话存储登录信息缓存、当前事务隔离级别、会话级别
SET
值等设置。通常每个连接上都有一个会话,但单个连接上可能有多个会话(多个活动结果集,MARS),并且有些会话没有连接(SSB 激活过程,系统会话)。还有一些无会话的连接,即用于非 TDS 目的的连接,如数据库镜像
sys.dm_db_mirroring_connections
或 Service Broker 连接sys.dm_broker_connections
。Connection 表示通过网络或本地通过共享内存连接到服务器。
会话代表 SQL Server 中的用户进程。
一个连接可以与零个或多个会话链接。
您可以查询 sys.dm_exec_sessions 动态管理视图以了解有关在 SQL Server 2012 实例上启用通用标准合规性时成功和不成功登录的信息。
sys.dm_exec_connections 动态管理视图提供有关建立到数据库引擎实例的连接的信息。在 SQL Server 2012 实例上启用通用标准合规性时,您无法查询此动态管理视图以获取有关成功和不成功登录的信息。