如何区分sys.sysprocesses中哪些是系统进程,哪些是用户进程?1、进程启动时间?(登录时间为服务启动时间的为系统进程?)
2、没有Hostname的进程(系统进程)?好像没有明显的标识字段。

解决方案 »

  1.   

    @@spid 
    返回当前用户进程会话ID
      

  2.   

    http://blog.csdn.net/wobuwei/archive/2009/07/29/4389639.aspx
      

  3.   

    select login_time from sys.sysprocesses where spid=1服务器的启动时间
      

  4.   

    select session_id,cpu_time 
    from sys.dm_exec_requests 
      

  5.   


    select * from sys.sysprocesses a
    where a.spid in (select session_id from sys.dm_exec_sessions 
                     where is_user_process = 1)
      

  6.   


    select *
    from sys.sysprocesses
    where hostname<>''两个语句效果相同。应该说明所有hostname为空的进程都是系统进程。谢谢urdoom。
      

  7.   

    --列出所有活动的用户
    SP_WHO 'active'--列出某个特定用户的信息
    SP_WHO 'sa'是不是需要这个
      

  8.   


    恩,除了hostname
    program_name,
    hostprocess,
    nt_domain,
    nt_username,
    net_address,
    net_library
    这几个项目系统进程也是空的
      

  9.   

    SPID = 1-50 分配给系统管理线程,如 LAZY WRITER、LOCK MONITOR 等,而大于 50 的 SPID 分配给用户会话,所有孤立 DTC 事务的 SPID = -2(孤立 DTC 事务是不与任何 SPID 相关联的分布式事务)。