您好,欢迎访问一九零五行业门户网

SQL Server System Session ID是不是1-50?

看到一篇文章问到为什么sql server系统的session id是从1到50的,以前看过文章,这些session是sql server为了运行系统活动比如(
今天在论坛看到一篇文章问到为什么sql server系统的session id是从1到50的,以前看过文章,这些session是sql server为了运行系统活动比如((lazy writer, ghost record cleanup, dtc commit/abort),所以会保留50 session id给sql server使用,用户会话从51开始。 
在2005之前查询用户会话使用:
spid 50 
但是在sql server 2005之后已经没有这个限制了,我在msdn上找到了下面这篇文章:how it works: system sessions 
looking at a sql server error log it is formatted with the date, time and session identifier.  many of the identifiers contain the s following the spid value.
2008-01-08 20:03:36.12 spid5s
the s indicates that the session is a system session.  prior to sql server 2005 all system sessions were limited to session ids less than 50.  sql server 2005 lifted that restriction.  in order identify a session performing system actives (lazy writer, ghost record cleanup, dtc commit/abort, ...) the sessions are identified as system sessions.
instead of the older select * from sysprocesses where spid
根据上面的讲法系统session id有可能超过50,,所以查询用户session id使用 
is_user_process= 1
is_user_process
bit
如果会话是系统会话,则为 0。否则,为 1。不可为空值
更多信息参考:(v=sql.90).aspx
其它类似信息

推荐信息