Sql-Server

sys.dm_exec_sessions 中是否存在每個伺服器唯一的列組合?

  • March 12, 2013

在 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 的解析速度更快的速度回收之外,這是每個伺服器實例唯一的。

引用自:https://dba.stackexchange.com/questions/31797