Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么&x2019;Sql Server中连接、会话和请求之间的区别是什么?_Sql_Sql Server - Fatal编程技术网

什么&x2019;Sql Server中连接、会话和请求之间的区别是什么?

什么&x2019;Sql Server中连接、会话和请求之间的区别是什么?,sql,sql-server,Sql,Sql Server,正如您所知,SQLServer中有三个概念:连接、会话和请求 我们可以通过sys.dm_exec_连接、sys.dm_exec_会话、sys.dm_exec_请求系统视图监视它们 您能用示例解释一下它们之间的区别吗?连接是物理通信通道,会话是一种信息交换状态。一个连接可能有多个会话。请求只是向服务器请求任何类型的资源。一旦在您和服务器之间建立会话,就可以请求资源 DMV包括用户会话以及用于运行后台任务的内部SQL Server会话。包含外部客户端建立的会话的附加信息,包括协议详细信息。包含有关活

正如您所知,SQLServer中有三个概念:连接、会话和请求

我们可以通过
sys.dm_exec_连接、sys.dm_exec_会话、sys.dm_exec_请求
系统视图监视它们


您能用示例解释一下它们之间的区别吗?

连接是物理通信通道,会话是一种信息交换状态。一个连接可能有多个会话。请求只是向服务器请求任何类型的资源。一旦在您和服务器之间建立会话,就可以请求资源

DMV包括用户会话以及用于运行后台任务的内部SQL Server会话。包含外部客户端建立的会话的附加信息,包括协议详细信息。包含有关活动SQL Server请求(例如执行查询)的信息

运行下面的查询以查看返回的信息。将外部联接替换为内部联接以更好地查看关系基数

--all sessions, including SQL Server system sessions
SELECT *
FROM sys.dm_exec_sessions AS s;

--sessions with client connections (including internal SQL Server system sessions that have no connection)
SELECT *
FROM sys.dm_exec_sessions AS s
LEFT JOIN sys.dm_exec_connections AS c ON s.session_id = c.session_id;

--sessions, including request info 
SELECT *
FROM sys.dm_exec_sessions AS s
LEFT JOIN sys.dm_exec_connections AS c ON s.session_id = c.session_id
LEFT JOIN sys.dm_exec_requests AS r ON s.session_id = r.session_id
ORDER BY s.session_id;

您好,请参阅上面发布的Microsoft源文章——“会话和连接之间有1:1的映射。”。