Sql-Server
sys.dm_exec_sessions 中是否存在每個伺服器唯一的列組合?
在 SQL Server 中,每個會話都有自己的 spid。Spid 在任何給定的通知中都是唯一的,但是像作業系統中的程序和執行緒標識符這樣的 spid 會被回收。
但是sys.dm_exec_sessions有其他包含會話元數據的列。是否存在保證對於伺服器實例唯一的列組合?
會話屬於連接 (1:M),連接具有唯一的 GUID 標識符,請參閱
sys.dm_exec_connections
:
connection_id
uniqueidentifier唯一標識每個連接。不可為空。每當您擷取 sys.dm_exec_sessions 時,加入 sys.dm_exec_connections 並擷取 connection_id。
您可以通過 login_time 列將 spid 與其開始時間相關聯。除了 spid 以比 login_time 的解析速度更快的速度回收之外,這是每個伺服器實例唯一的。