操状态"置疑"作

  

遇到了需要操作一下服状态"置疑"务器,我连命令操作都不会,百度了半天终于找到一个能用的,虽然是不怎么样用但是记录一下比较好,要不然以后万一哪天又遇到了又需要查半天

  

select * from主人. . sysprocesses
查询结果字段介绍

  
      <李> Spid: Sql Servr会话ID   <李> Kpid: Windows线程ID   <李>阻塞:正在阻塞求情的会话ID。如果此列为Null,则标识请求未被阻塞李   <李> Waittype:当前连接的等待资源编号,标示是否等待资源,0或空表示不需要等待任何资源李   <李> Waittime:当前等待时间,单位为毫秒,0表示没有等待李   <李> DBID:当前正由进程使用的数据库ID   <李> UID:执行命令的用户ID   <李> Login_time:客户端进程登录到服务器的时间。   <李> Last_batch:上次执行存储过程或执行语句的时间。对于系统进程,将存储Sql Server的启动时间
    10。Open_tran:进程的打开事务个数。如果有嵌套事务,就会大于1
    11。状态:进程ID状态,休眠=正在重置回话;运行=回话正在运行一个或多个批处理;背景=回话正在运行一个后台任务;回滚=会话正在处理事务回滚;等待=回话正在等待工作现成变为可用;可运行=会话中的任务在等待获取调度器来运行的可执行队列中;spinloop=会话中的任务正在等待自旋锁变为可用;暂停=会话正在等待事件完成
    12。主机名:建立链接的客户端工作站的名称
    13。Program_name:应用程序的名称,就是连接字符串中配的应用程序名称
    14。Hostprocess:建立连接的应用程序在客户端工作站里的进程ID号
    15。Cmd:当前正在执行的命令
    16。李Loginame:登录名   
  

应用实例:

  
      <李>检查数据库是否发生阻塞李   
  

先查找哪个链接的屏蔽字段不为0。如SPID53的屏蔽字段不为0,而52.是spid 52的阻塞为0,就可以得出结论:此时有阻塞发生,53个被52阻塞住了。如果你发现一个连接的屏蔽字段的值等于它自己,那说明这个连接正在做磁盘读写,它要等自己的I/O做完。

     <李>查找链接在那个数据库上李      

检查dbid即可。得到dbid,可以运行以下查询得到数据库的名字:
选择名字,从master.sys dbid。sysdatabases
参考链接
https://www.cnblogs.com/zengkefu/p/6854196.html
https://jingyan.baidu.com/article/b2c186c820b054c46ff6ff68.html

操状态"置疑"作