zoukankan      html  css  js  c++  java
  • master.sys.sysprocesses相关内容

    sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息。这些进程可以是客户端进程或系统进程。

    sysprocesses 只存储在 master 数据库中,是一张视图。

    Select * From master.sys.sysprocesses

    一、使用sysprocesses查询当前系统被阻塞的会话

      字段Blocked<>0代表当前的SQL Server会话ID被锁定,锁定当前会话ID的SQL Server会话ID就是Blocked中的值。

      查询当前系统被锁定的会话信息  

    Select * From master.sys.sysprocesses Where Blocked <> 0

    二、查询某个会话所执行的SQL语句

    --dbcc inputbuffer(spid) 如:
    dbcc inputbuffer(3) 

    三、杀死某个会话

      SQL Server系统库对应的会话不能Kill,可以用dbid>4进行判断;dbid<=4的代表系统库

    --kill spid 如
    kill 63

    四、查看当前所有数据库的连接情况

    Select db_name(dbid) as [Database Name],  count(dbid) as [No Of Connections], loginame as [Login Name] 
    From master.sys.sysprocesses 
    Where dbid > 4 
    Group By dbid, loginame

    五、杀死某个数据库上的所有会话 

    Use master
    Go
    Alter Proc Proc_KillSpidByDatabaseName
    @dbname varchar(50)
    As
    Begin
        If DB_ID(@dbname) Is Null
            Begin
                Print 'Database doesn''t exist.'
            End
        If DB_ID(@dbname) <= 4
            Begin
                Print 'Only user processes can be killed.'
                Return
            End
    
        Declare @KillSpid Varchar(Max)
        Select @KillSpid = Coalesce(@KillSpid+'; ','') + 'Kill ' + Cast(spid as varchar(10)) from sys.sysprocesses Where dbid = DB_ID(@dbname)
        If Len(@KillSpid) > 0
            Begin
                Print @KillSpid
                Exec (@KillSpid)
                Print 'Executed successfully.'
            End
        Else
            Begin
                Print 'No connecting on ' + @dbname
            End
    End

      

    六、sys.sysprocesses列名描述

    spid smallint SQL Server 进程 ID。 
    kpid smallint Microsoft Windows NT 4.0® 线程 ID。 
    blocked smallint 分块进程的进程 ID (spid)。 
    waittype binary(2) 保留。 
    waittime int 当前等待时间(以毫秒为单位)。当进程不处于等待时,为 0。 
    lastwaittype nchar(32) 表示上次或当前等待类型名称的字符串。 
    waitresource nchar(32) 锁资源的文本化表示法。 
    dbid smallint 当前正由进程使用的数据库 ID。 
    uid smallint 执行命令的用户 ID。 
    cpu int 进程的累计 CPU 时间。无论 SET STATISTICS TIME ON 选项是 ON 还是 OFF,都为所有进程更新该条目。 
    physical_io int 进程的累计磁盘读取和写入。 
    memusage int 当前分配给该进程的过程高速缓存中的页数。一个负数,表示进程正在释放由另一个进程分配的内存。 
    login_time datetime 客户端进程登录到服务器的时间。对于系统进程,是存储 SQL Server 启动发生的时间。 
    last_batch datetime 客户端进程上次执行远程存储过程调用或 EXECUTE 语句的时间。对于系统进程,是存储 SQL Server 启动发生的时间。 
    ecid smallint 用于唯一标识代表单个进程进行操作的子线程的执行上下文 ID。 
    open_tran smallint 进程的打开事务数。 
    status nchar(30) 进程 ID 状态(如运行、休眠等)。 
    sid binary(85) 用户的全局唯一标识符 (GUID)。 
    hostname nchar(128) 工作站的名称。 
    program_name nchar(128) 应用程序的名称。 
    hostprocess nchar(8) 工作站进程 ID 号。 
    cmd nchar(16) 当前正在执行的命令。 
    nt_domain nchar(128) 客户端的 Windows NT 4.0 域(如果使用 Windows 身份验证)或信任连接的 Windows NT 4.0 域。 
    nt_username nchar(128) 进程的 Windows NT 4.0用户名(如果使用 Windows 身份验证)或信任连接的 Windows NT 4.0 用户名。 
    net_address nchar(12) 指派给每个用户工作站上的网络接口卡唯一标识符。当用户登录时,该标识符插入 net_address 列。 
    net_library nchar(12) 用于存储客户端网络库的列。每个客户端进程都在网络连接上进入。网络连接有一个与这些进程关联的网络库,该网络库使得这些进程可以建立连接。有关更多信息,请参见客户端和服务器 Net-Library。 
    loginame nchar(128) 登录名。

  • 相关阅读:
    150个JS特效脚本
    .sql文件被加密恢复
    Alpha865qqz.id 加密数据库恢复
    最新incaseformat 病毒删除文件恢复
    Oracle MISSING00000文件故障恢复
    asm 磁盘分区丢失恢复----惜分飞
    oracle数据文件0kb恢复
    ORA-600 16703--oracle介质被注入恶意脚本
    GANDCRAB病毒oracle数据库恢复
    文件系统损坏,oracle数据库恢复
  • 原文地址:https://www.cnblogs.com/Niko12230/p/5509717.html
Copyright © 2011-2022 走看看