SQL Server简洁查询正在运行的进程SQL
通常我们可以使用
sp_who2
我们希望更加简洁的信息,下面这个查询使用系统表sys.sysprocesses,以及sys.dm_exec_sql_text做OUTER APPLY. T-SQL是这样的:
SELECT spid,
blocked,
DB_NAME(sp.dbid) AS DBName,
program_name,
waitresource,
sp.waittime,
sp.stmt_start,
lastwaittype,
sp.loginame,
sp.Status,
sp.hostname,
a.[Text] AS [TextData],
SUBSTRING(A.text, sp.stmt_start / 2,
(CASE WHEN sp.stmt_end = -1 THEN DATALENGTH(A.text) ELSE sp.stmt_end
END - sp.stmt_start) / 2) AS [current_cmd]
FROM sys.sysprocesses AS sp OUTER APPLY sys.dm_exec_sql_text (sp.sql_handle) AS A
WHERE spid > 50 and lastwaittype='HADR_SYNC_COMMIT'
ORDER BY blocked DESC, DB_NAME(sp.dbid) ASC, a.[text];
上面可以查看正在执行的sql,他的等待事件
您可能注意到过滤了spid小于50的,这里有TextData,Current_cmd两列,可以列出当前DataBase执的SQL文本,当然您拿到spid就可以使用更多的查询。
以便于您定位阻塞的进程。
视图中主要的字段:
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:登录名
SQL Server简洁查询正在运行的进程SQL的更多相关文章
- SQL Server简洁查询正在运行SQL(等待事件)
通常我们可以使用 sp_who2 我们希望更加简洁的信息,下面这个查询使用系统表sys.sysprocesses,以及sys.dm_exec_sql_text做OUTER APPLY. T-SQL是这 ...
- 转载:SQL Server中查询CPU占用高的SQL语句
SQL Server中查询CPU占用高的SQL语句 SQL Server 表变量的用法 究竟什么是敏捷测试--朱少民
- SQL Server中查询CPU占用高的SQL语句
SQL Server中查询CPU占用高的情况,会用到sys.sysprocesses ,dm_exec_sessions ,dm_exec_requests 一.查看当前的数据库用户连接有多少 USE ...
- SQL Server批量替换全部表中内容sql语句-清楚挂马
有朋友常常会发现自己的数据库全部的内容给插入了一些代码,假设要一个个表一个个记录去删除.太麻烦了,以下我在在网上找到一个能够批量删除的方法,实际上是批量把那段恶意代码替换,很高速. declare @ ...
- 转载 50种方法优化SQL Server数据库查询
原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...
- SQL Server 诊断查询-(1)
Query #1 is Version Info. SQL and OS Version information for current instance SELECT @@SERVERNAME AS ...
- 我也谈谈 代码调用存储过程超时,SQL Server Management Studio里运行很快的问题
最近遇到了一个问题就是 一个执行速度很快的存储过程,在代码中调用的时候却超时了. 后来看到了两篇文章: 其中一篇是这样介绍的 今天同事用代码调用存储过程时超时,在SQL Server Manageme ...
- 优化SQL Server数据库查询方法
SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
随机推荐
- unity3d 射弹基础案例代码分析
#pragma strict import UnityEngine.UI; function Start () { } var speed : int = 5; var newobject : Tra ...
- Ubuntu 16.10下的 jdk 1.8.0_111
下载好对应版本的jdk copy到此目录下,并解压: 呼出终端,输入指令: gedit ~/.bashrc 会出现文本编辑界 export JAVA_HOME=/usr/lib/jvm/jdk1.8. ...
- One or more types required to compile a dynamic expression cannot be found.
This is because dynamic keyword is a new C# keyword. So we need to import Microsoft.CSharp.dll. Here ...
- linux系统数据盘挂载教程
将数据盘挂载为/www命令:#mkdir /www & mount /dev/sdb1 /www ----------------------------------------------- ...
- eclipse中的 Compiler compliance level含义
The compiler compliance setting tells the compiler to pretend it's a different version of Java. The ...
- js常用正则
var sTest="xxxkdsj234dogdog1234xx"var reTest1=/(dog){2}/var reTest2 = /(?:dog){2}/;console ...
- C# delegate
1. delegate example1 class Program { public delegate int MyDelegate(int i); int MyFunc(int i) { retu ...
- centos从日志文件查找关键字的日志并生成文件
grep "unset user wechat user_id:" app* | tee wechat_log
- Coursera 机器学习课程 机器学习基础:案例研究 证书
完成了课程1 机器学习基础:案例研究 贴个证书,继续努力完成后续的课程:
- Hibernate 注解的用法以及说明(二)
注解映射必须满足两大条件:Hibernate3.2以上版本和JSEE 5. @Entity 类注释,所有要持久化的类都要有@Entity public class Org implements ...