Sys.SysProcesses 系统表是一个很重要的系统视图,主要用来定位与解决Sql Server的阻塞和死锁。
MSDN:包含正在 SQL Server 实例上运行的进程的相关信息。这些进程可以是客户端进程或系统进程。
视图中主要的字段:
1. Spid:Sql Servr 会话ID
2. Kpid:Windows  线程ID
3. Blocked:正在阻塞求情的会话 ID。如果此列为 Null,则标识请求未被阻塞
4. Waittype:当前连接的等待资源编号,标示是否等待资源,0 或 Null表示不需要等待任何资源
5. Waittime:当前等待时间,单位为毫秒,0 表示没有等待
6. DBID:当前正由进程使用的数据库ID
7. UID:执行命令的用户ID
8. Login_time:客户端进程登录到服务器的时间。
9. Last_batch:上次执行存储过程或Execute语句的时间。对于系统进程,将存储Sql Server 的启动时间
10.Open_tran:进程的打开事务个数。如果有嵌套事务,就会大于1
11.Status:进程ID 状态,dormant = 正在重置回话 ; running = 回话正在运行一个或多个批处理 ; background = 回话正在运行一个后台任务 ; rollback = 会话正在处理事务回滚 ; pending = 回话正在等待工作现成变为可用 ; runnable = 会话中的任务在等待获取 Scheduler 来运行的可执行队列中 ; spinloop = 会话中的任务正在等待自旋锁变为可用 ; suspended = 会话正在等待事件完成
12.Hostname:建立链接的客户端工作站的名称
13.Program_name:应用程序的名称,就是 连接字符串中配的 Application Name
14.Hostprocess:建立连接的应用程序在客户端工作站里的进程ID号
15.Cmd:当前正在执行的命令
16.Loginame:登录名
应用实例:
1. 检查数据库是否发生阻塞
先查找哪个链接的 blocked 字段不为0。如 SPID53的blocked 字段不为0,而是 52。SPID 52 的 blocked 为0,就可以得出结论:此时有阻塞发生,53 被 52 阻塞住了。如果你发现一个连接的 blocked 字段的值等于它自己,那说明这个连接正在做磁盘读写,它要等自己的 I/O 做完。
2. 查找链接在那个数据库上
检查 dbid 即可。得到 dbid,可以运行以下查询得到数据库的名字:
Select name,dbid from master.sys.sysdatabases

寻自己首发于博客园:利用 sys.sysprocesses 检查 Sql Server的阻塞和死锁

转载于:https://www.cnblogs.com/xunziji/archive/2011/10/21/2220588.html

利用 sys.sysprocesses 检查 Sql Server的阻塞和死锁相关推荐

  1. 利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法)

    利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法) 安装好Navicat Premium,SQL Serve ...

  2. mysql job status_检查SQL Server Job状态

    检查SQLServerJob状态 无 exec msdb.dbo.sp_help_job @execution_status=1 select distinct j.Name as "Job ...

  3. SQL Server 2005中解决死锁问题

    SQL Server 2005中解决死锁问题 数据库操作的死锁是不可避免的,本文并不打算讨论死锁如何产生,重点在于解决死锁,通过SQL Server 2005, 现在似乎有了一种新的解决办法. 将下面 ...

  4. sql多语句表值函数_构造一个特殊的多语句表函数来检查SQL Server的运行状况

    sql多语句表值函数 问题 ( The Problem ) Checking the many SQL Servers health conditions is one of the DBA basi ...

  5. counters.dat_使用sys.dm_os_performance_counters对SQL Server问题进行故障排除

    counters.dat sys.dm_os_performance_counters (sys.dm_os_performance_counters ) sys.dm_os_performance_ ...

  6. 基于sys.fn_dblog()的SQL Server日志分析

    Github URL: https://github.com/ap0405140/MSSQLLogAnalyzer 在SQL Server 2005及之前的版本, 可以用Log Explorer工具来 ...

  7. 在SQL Server 2005中解决死锁(转)

    数据库操作的死锁是不可避免的,本文并不打算讨论死锁如何产生,重点在于解决死锁,通过SQL Server 2005, 现在似乎有了一种新的解决办法. 将下面的SQL语句放在两个不同的连接里面,并且在5秒 ...

  8. 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在

    https://blog.csdn.net/u013258447/article/details/48625907

  9. Sql Server 查看所有存储过程或视图的位置及内容

    前一段时间,有个需求,就是对部分表进行了分库,所以,原库里面的存储过程.视图和函数里的表名等信息也要跟着更新,刚开始尝试手动检查了几个存储过程,可发现存储过程太多,检查起来效率很低,还容易出错,况且还 ...

最新文章

  1. L1-006 连续因子
  2. pintos实验三文档_实验室如何实现智能、数字化管理?
  3. GPU算力免费用?百度AI Studio两周年惊喜活动开启
  4. 在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证
  5. 三种方法绘制雷达图,用最快的时间做出最好看的可视化图表
  6. 方舟手游pvp服务器修改pvx,方舟生存进化手机版怎么玩pvx_方舟生存进化手机版pvx玩法规则介绍_好特网...
  7. 统计学习方法 李航 读书笔记
  8. 「软件测试」刚从腾讯面试出来,留下了这些面试笔记
  9. Redis cluster集群:原理及搭建
  10. Cora数据集介绍+python读取
  11. Atitit order algo 排序算法 算法之道 目录 1.1. 生活中常用的排序是插入排序和选择排序 2 2. 0.1 算法分类 2 3. .2 算法复杂度 3 4. 十大经典排序算法(动图
  12. arcpy 土地整治报备坐标文件导出(解决内环问题)
  13. x79主板bios设置中文_新买的电脑不知道主板型号?这三种方法可查看,非常简单...
  14. 最近四款非常火的广告设计软件,学会大有作为
  15. Linux的FTP安装、使用和配置(FTP客户端管理工具)
  16. 使用pynput监听键盘组合键
  17. =default =delete
  18. 单例模式 ,多例模式及工厂设计模式的简单案例介绍
  19. ffmpeg h264指南
  20. ASCII码中可打印字符和不可打印字符

热门文章

  1. jquery ajax 样例
  2. SQLServer数据库自增长标识列的更新修改操作
  3. leetcode算法题--连续的子数组的和
  4. 简述ospf的工作原理_全方位了解OSPF的工作原理以及涉及到的重要技术
  5. java ocr识别pdf_如何知道PDF是否仅包含图像还是已经过OCR扫描以进行搜索?
  6. PXA270-基于ARM9内核Processor外部NAND FLASH的控制实现
  7. Nginx服务测试时的一些配置:wireshark、常用搜索URL格式、关闭防火墙、siege
  8. moco 搭建接口mock环境入门
  9. nagios通过微信告警(无限制告警条数)
  10. Windows多线程编程总结