对于临时表,我们看到它们是依赖于连接的,我的意思是在一个连接中创建的表只对该连接可用,并且在连接丢失或破坏时自动删除。SQL Server中的连接和会话有什么区别?
f0brbegy1#
字面上: 一月一日**
连接是SQL Server和应用程序之间的物理通信通道:TCP套接字、命名管道、共享内存区域。SQL Server中的会话对应于Wikipedia定义的session:信息交换状态的半永久容器。换句话说,会话存储设置,如登录信息的缓存,当前事务隔离级别,session level SET values等。通常每个连接上有一个会话,但单个连接上可能有多个会话(Multiple Active Result Sets、MARS),也可能有没有连接的会话(SSB activated procedures、system sessions)。还有没有会话的连接,即用于非TDS目的的连接,如数据库镜像sys.dm_db_mirroring_connections或Service Broker连接sys.dm_broker_connections。我在这里找到了参考资料
SET
sys.dm_db_mirroring_connections
sys.dm_broker_connections
68de4m5k2#
用于SQL Server线程管理和调度的常见概念:会话-当客户端应用程序连接到SQL Server时,双方将建立一个“会话”以交换信息。严格地说,会话与底层物理连接不同,它是连接的SQL Server逻辑表示。但出于实用目的,您可以将其视为连接(session =~ connection)。请参阅sys.dm_exec_sessions。这是SQL Server 2000及更早版本中存在的旧SPID。有时您可能会注意到在DMV输出中一个会话重复多次。这是由于并行查询造成的。并行查询使用同一会话与客户端通信,但在SQL Server端使用多个工作进程(线程)来服务此请求。因此,如果您看到多个行具有相同的会话ID,则知道查询请求正在由多个线程服务。
-
连接-这是在较低协议层建立的实际物理连接,具有其所有特征sys.dm_exec_connections。会话和连接之间存在1:1Map。
bakd9h0s3#
连接是客户端和SQL Server数据库之间的***关系。会话是***客户端登录(连接)SQL Server数据库与客户端注销(退出)SQL Server数据库之间的***时间段。
3条答案
按热度按时间f0brbegy1#
字面上: 一月一日**
连接是SQL Server和应用程序之间的物理通信通道:TCP套接字、命名管道、共享内存区域。SQL Server中的会话对应于Wikipedia定义的session:信息交换状态的半永久容器。换句话说,会话存储设置,如登录信息的缓存,当前事务隔离级别,session level
SET
values等。通常每个连接上有一个会话,但单个连接上可能有多个会话(Multiple Active Result Sets、MARS),也可能有没有连接的会话(SSB activated procedures、system sessions)。还有没有会话的连接,即用于非TDS目的的连接,如数据库镜像
sys.dm_db_mirroring_connections
或Service Broker连接sys.dm_broker_connections
。我在这里找到了参考资料
68de4m5k2#
用于SQL Server线程管理和调度的常见概念:
会话-当客户端应用程序连接到SQL Server时,双方将建立一个“会话”以交换信息。严格地说,会话与底层物理连接不同,它是连接的SQL Server逻辑表示。但出于实用目的,您可以将其视为连接(session =~ connection)。请参阅sys.dm_exec_sessions。这是SQL Server 2000及更早版本中存在的旧SPID。有时您可能会注意到在DMV输出中一个会话重复多次。这是由于并行查询造成的。并行查询使用同一会话与客户端通信,但在SQL Server端使用多个工作进程(线程)来服务此请求。因此,如果您看到多个行具有相同的会话ID,则知道查询请求正在由多个线程服务。
连接-这是在较低协议层建立的实际物理连接,具有其所有特征sys.dm_exec_connections。会话和连接之间存在1:1Map。
bakd9h0s3#
连接是客户端和SQL Server数据库之间的***关系。
会话是***客户端登录(连接)SQL Server数据库与客户端注销(退出)SQL Server数据库之间的***时间段。