select dbt.database_id,
DB_NAME(dbt.database_id) '数据库名', dbt.transaction_id,
at.name,
at.transaction_begin_time, case at.transaction_type --事务类型
when 1 then '读/写事务'
when 2 then '只读事务'
when 3 then '系统事务'
when 4 then '分布式事务'
end 'transaction类型', case at.transaction_state
when 0 then '事务尚未完全初始化'
when 1 then '事务已初始化但尚未启动'
when 2 then '事务处于活动状态'
when 3 then '事务已结束。该状态用于只读事务'
when 4 then '已对分布式事务启动提交进程'
when 5 then '事务处于准备就绪状态且等待解析'
when 6 then '事务已提交'
when 7 then '事务正在被回滚'
when 8 then '事务已回滚'
end 'transaction状态', st.session_id,
tt.text as '最近执行的语句', es.program_name from sys.dm_tran_database_transactions dbt
left join sys.dm_tran_active_transactions at
on dbt.transaction_id = at.transaction_id
left join sys.dm_tran_session_transactions st
on at.transaction_id = st.transaction_id left join sys.dm_exec_sessions es
on st.session_id = es.session_id
left join sys.dm_exec_connections ec
on es.session_id = ec.session_id
outer apply sys.dm_exec_sql_text(ec.most_recent_sql_handle) tt

进一步查询,这个会话获取了哪些资源

select db_name(resource_database_id) 'DatabaseName',
object_name(resource_associated_entity_id) 'TableName',
request_type,
request_mode,
request_status
select *
from sys.dm_tran_locks

再进一步,查询这个会话有没有阻塞其他会话,以及阻塞时间:

select session_id,              --某个会话
wait_duration_ms / 1000, --等待秒数
wait_type, --等待类型,可能是进程间的阻塞,也有可能是等待IO完成 blocking_session_id --被这个会话阻塞的,如果有的话 from sys.dm_os_waiting_tasks
where blocking_session_id = xxx

再进一步,合并上面2个:

select wt.session_id,              --某个会话
wait_duration_ms / 1000 as 'wait seconds', --等待秒数
wait_type, --等待类型,可能是进程间的阻塞,也有可能是等待IO完成 blocking_session_id, --被这个会话阻塞的,如果有的话 tl.request_mode, --请求模式,比如S、IX、X
tl.request_type, --请求类型,比如Lock
tl.request_status --是否grant from sys.dm_os_waiting_tasks wt
left join sys.dm_tran_locks tl
on wt.session_id = tl.request_session_id

查看数据库中有哪些活动的事务,对应的会话id,执行的语句的更多相关文章

  1. ORACLE 查看数据库中有哪些表

    SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME;

  2. oracle 隔离级别、事务怎么开始的以及如何查看数据库采用字符集

    把一下语句全部粘贴至控制台运行后可以查看oracle 隔离级别 declare trans_id ); begin trans_id := dbms_transaction.local_transac ...

  3. SQLServer数据库中开启CDC导致事务日志空间被占满的原因

    SQLServer数据库中开启CDC导致事务日志空间被占满的原因 转载  2017-04-01   投稿:mrr    我要评论 这篇文章主要介绍了SQLServer数据库中开启CDC导致事务日志空间 ...

  4. Mysql基础(六):索引、数据库备份、锁和事务、慢查询优化、索引命中相关

    目录 数据库05 /索引.数据库备份.锁和事务.慢查询优化.索引命中相关 1. 什么是索引 2. 索引的原理 3. 索引的数据结构(聚集索引.辅助索引) 4. 索引操作 5. 索引的两大类型hash与 ...

  5. MySQL查看数据库相关信息

    使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令   1:查看显示所有数据库 mysql> show databases ...

  6. mysql查看数据库和表的占用空间大小

    mysql查看数据库和表的占用空间大小   第一部分-任务 将线上db,导出后,导入到office db 一. 两种方案: 1,将数据直接从online-->office,通过mysqldump ...

  7. MySQL查看数据库信息

    使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql> show databases; ...

  8. [转]MySQL查看数据库相关信息

    原文链接:MySQL查看数据库相关信息 使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql& ...

  9. Java开发工程师(Web方向) - 03.数据库开发 - 第4章.事务

    第4章--事务 事务原理与开发 事务Transaction: 什么是事务? 事务是并发控制的基本单位,指作为单个逻辑工作单元执行的一系列操作,且逻辑工作单元需满足ACID特性. i.e. 银行转账:开 ...

随机推荐

  1. POJ 3126 Prime Path 素数筛,bfs

    题目: http://poj.org/problem?id=3126 困得不行了,没想到敲完一遍直接就A了,16ms,debug环节都没进行.人品啊. #include <stdio.h> ...

  2. Duplicate Symbol链接错的原因总结和解决方法-b

    duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在.但是经过一段时间的总结,发现这种错误总是有一些规律可以找的.例如,我们有如下的最简单的两个类代码: // ...

  3. iOS Copy 和 MutableCopy的区别 深浅拷贝的区别-供参考

    概述 对于系统的非容器类对象,对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝).如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的. 对于 ...

  4. Rewrite Path in Asp.Net MVC Project

    // Change the current path so that the Routing handler can correctly interpret // the request, then ...

  5. centos6.5搭建vpn服务器

    1 安装ppp yum install -y ppp  2 安装pptpd yum install pptpd   //  rpm -Uvh http://poptop.sourceforge.net ...

  6. JavaScript自学代码--(四)

    //JavaScript Window - 浏览器对象模型 window.document.getElementById("header"); //等价于 document.get ...

  7. Android判断界面

         仿造微信,第一次进入去引导界面,否则进启动界面. package edu.hpu.init; import edu.hpu.logic.R; import android.app.Activ ...

  8. Android之TextView组件学习

    一.基础学习 1.findViewById返回View类,该类是所有View组件的父类. 2.子类比父类拥有更多的属性和方法,不过子类找不到的话去父类找 3.marquee:华盖,跑马灯效果:orie ...

  9. csu 10月 月赛 H 题 A Very Hard Problem

    Description CX老湿经常被人黑,被黑得多了,自己也就麻木了.于是经常听到有人黑他,他都会深情地说一句:禽兽啊! 一天CX老湿突发奇想,给大家出了一个难题,并且声称谁能够准确地回答出问题才能 ...

  10. 读取spring配置文件的方法(spring读取资源文件)

    1.spring配置文件 <bean id="configproperties" class="org.springframework.beans.factory. ...