在 SQL Server 中,每个会话都有自己的 spid。在任何给定的通知中,spid 都是唯一的,但 spid,如操作系统中的进程和线程标识符是可回收的。
但是sys.dm_exec_sessions有其他带有会话元数据的列。是否存在保证对服务器实例唯一的列组合?
在 SQL Server 中,每个会话都有自己的 spid。在任何给定的通知中,spid 都是唯一的,但 spid,如操作系统中的进程和线程标识符是可回收的。
但是sys.dm_exec_sessions有其他带有会话元数据的列。是否存在保证对服务器实例唯一的列组合?
会话属于连接 (1:M) 并且连接具有唯一的 GUID 标识符,请参阅
sys.dm_exec_connections
:每当您捕获 sys.dm_exec_sessions 时,加入 sys.dm_exec_connections 并捕获 connection_id。
您可以通过 login_time 列将 spid 与其开始时间相关联。除了以比 login_time 的分辨率更快的速度回收 spid 之外,这是每个服务器实例唯一的。