SQL SERVER 事务执行情况跟踪分析
[sql] view plain copy
---查看现在所有的事务 select '正在运行事务的会话的 ID'=session_id, --session_id与transaction_id的对应关系
'事务的 ID'=transaction_id,
'正在处理事务的会话中的活动请求数'=enlist_count,
'用户or系统事务'=case is_user_transaction when 1 then '事务由用户请求启动'
when 0 then '系统事务'
end,
'本地or分布式事务'= case is_local when 0 then '分布式事务或登记的绑定会话事务'
when 1 then '本地事务'
end,
'分布式事务类型'=case is_enlisted when 0 then '非登记的分布式事务'
when 1 then '登记的分布式事务'
end,
'绑定会话中处于状态'=case is_enlisted when 0 then '事务在通过绑定会话的会话中处于非活动状态。'
when 1 then '事务在通过绑定会话的会话中处于活动状态'
end
from sys.dm_tran_session_transactions --会话中的事务,识别所有打开的事务
where is_user_transaction =1 ----活动事务的具体信息
select dt.transaction_id,
dt.name,
dt.transaction_begin_time,
case dt.transaction_type
when 1 then '读/写事务'
when 2 then '只读事务'
when 3 then '系统事务'
when 4 then '分布式事务'
end 'transaction type', case dt.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 state',
case dt.dtc_state
when 1 then '活动'
when 2 then '准备就绪'
when 3 then '已提交'
when 4 then '中止'
when 5 then '已恢复'
end dtc_state from sys.dm_tran_active_transactions dt --活动的事务
where transaction_id = 123 ---根据事务ID 和其对应的session_id 找到活动事务对应的执行语句 select dc.session_id,
ds.login_name,
ds.login_time,
dc.connect_time,
dc.client_net_address,
ds.host_name,
ds.program_name,
case ds.status when 'sleeping' then '睡眠 - 当前没有运行任何请求 '
when 'running' then '正在运行 - 当前正在运行一个或多个请求 '
when 'Dormancy' then '休眠 – 会话因连接池而被重置,并且现在处于登录前状态'
when 'Pre-connected' then '预连接 - 会话在资源调控器分类器中'
end as status ,
ds.cpu_time as cpu_time_ms,
ds.memory_usage*8 as memory_kb,
ds.total_elapsed_time as total_elapsed_time_ms,
case ds.transaction_isolation_level when 0 then '未指定'
when 1 then '未提交读取'
when 2 then '已提交读取'
when 3 then '可重复'
when 4 then '可序列化'
when 5 then '快照'
end '会话的事务隔离级别',
dt.text
from sys.dm_exec_connections dc --执行连接,最近执行的查询信息
cross apply sys.dm_exec_sql_text(dc.most_recent_sql_handle) dt
join sys.dm_exec_sessions ds on dc.session_id=ds.session_id
where dc.session_id = 55
- ---查看现在所有的事务
- select '正在运行事务的会话的 ID'=session_id, --session_id与transaction_id的对应关系
- '事务的 ID'=transaction_id,
- '正在处理事务的会话中的活动请求数'=enlist_count,
- '用户or系统事务'=case is_user_transaction when 1 then '事务由用户请求启动'
- when 0 then '系统事务'
- end,
- '本地or分布式事务'= case is_local when 0 then '分布式事务或登记的绑定会话事务'
- when 1 then '本地事务'
- end,
- '分布式事务类型'=case is_enlisted when 0 then '非登记的分布式事务'
- when 1 then '登记的分布式事务'
- end,
- '绑定会话中处于状态'=case is_enlisted when 0 then '事务在通过绑定会话的会话中处于非活动状态。'
- when 1 then '事务在通过绑定会话的会话中处于活动状态'
- end
- from sys.dm_tran_session_transactions --会话中的事务,识别所有打开的事务
- where is_user_transaction =1
- ----活动事务的具体信息
- select dt.transaction_id,
- dt.name,
- dt.transaction_begin_time,
- case dt.transaction_type
- when 1 then '读/写事务'
- when 2 then '只读事务'
- when 3 then '系统事务'
- when 4 then '分布式事务'
- end 'transaction type',
- case dt.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 state',
- case dt.dtc_state
- when 1 then '活动'
- when 2 then '准备就绪'
- when 3 then '已提交'
- when 4 then '中止'
- when 5 then '已恢复'
- end dtc_state
- from sys.dm_tran_active_transactions dt --活动的事务
- where transaction_id = 123
- ---根据事务ID 和其对应的session_id 找到活动事务对应的执行语句
- select dc.session_id,
- ds.login_name,
- ds.login_time,
- dc.connect_time,
- dc.client_net_address,
- ds.host_name,
- ds.program_name,
- case ds.status when 'sleeping' then '睡眠 - 当前没有运行任何请求 '
- when 'running' then '正在运行 - 当前正在运行一个或多个请求 '
- when 'Dormancy' then '休眠 – 会话因连接池而被重置,并且现在处于登录前状态'
- when 'Pre-connected' then '预连接 - 会话在资源调控器分类器中'
- end as status ,
- ds.cpu_time as cpu_time_ms,
- ds.memory_usage*8 as memory_kb,
- ds.total_elapsed_time as total_elapsed_time_ms,
- case ds.transaction_isolation_level when 0 then '未指定'
- when 1 then '未提交读取'
- when 2 then '已提交读取'
- when 3 then '可重复'
- when 4 then '可序列化'
- when 5 then '快照'
- end '会话的事务隔离级别',
- dt.text
- from sys.dm_exec_connections dc --执行连接,最近执行的查询信息
- cross apply sys.dm_exec_sql_text(dc.most_recent_sql_handle) dt
- join sys.dm_exec_sessions ds on dc.session_id=ds.session_id
- where dc.session_id = 55

SQL SERVER 事务执行情况跟踪分析的更多相关文章
- 监控SQL Server正在执行的SQL语句和死锁情况
原文:监控SQL Server正在执行的SQL语句和死锁情况 SELECT [Individual Query] = SUBSTRING(qt.TEXT, er.statement_start_off ...
- SQL Server事务详解
事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式: ...
- SQL Server 事务复制爬坑记
SQL Server 复制功能折腾了好几天了,现特将其配置过程以及其间遇到的问题记录下来,以备日后查阅.同时,也让“同道”同学们少走不必要的弯路.如果有不对之处,欢迎大家指正,欢迎沟通交流. 一.复制 ...
- 网络异常与SQL Server事务
SQL Server事务遭遇网络异常时的处理机制浅析 SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Se ...
- SQL Server 事务复制分发到订阅同步慢
原文:SQL Server 事务复制分发到订阅同步慢 最近发现有一个发布经常出现问题,每几天就出错不同步,提示要求初始化.重新调整同步后,复制还是很慢!每天白天未分发的命令就达五六百万条!要解决慢的问 ...
- SQL Server 优化-执行计划
对于SQL Server的优化来说,优化查询可能是很常见的事情.由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划.毕竟我对SQL Ser ...
- 人人都是 DBA(VI)SQL Server 事务日志
SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...
- 第1/24周 SQL Server 如何执行一个查询
大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Server如何执行一个查询来建立基础.这个部分非常重要, ...
- 了解Sql Server的执行计划
前一篇总结了Sql Server Profiler,它主要用来监控数据库,并跟踪生成的sql语句.但是只拿到生成的sql语句没有什么用,我们可以利用这些sql语句,然后结合执行计划来分析sql语句的性 ...
随机推荐
- [Windows] 解决 VLC Media Player 的 Crash Reporting 消息弹窗
运行环境:Windows 8.1 (64bits), VLC Media Player 2.1.3 异常描述:首次启动VLC播放影音文件时,一切正常.此后每次启动VLC都弹出"VLC Cra ...
- IOS 怎么用UIScrollView来滚动和缩放他的内容第一篇
本篇文章来自于互联网资料翻译 UIScrollView是在IOS最有用的控件之一.他是一个来展现超过一个屏幕的内容的很好的方式.下面有很多的技巧来使用他. 这篇文章就是关于UIScrollView的, ...
- 【swagger学习】.net WebApi中使用swagger
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问 ...
- 【面试题】100IT名企java面试必考面试题
一.Java 基础部分 1. JAVA 的基本数据类型有哪些 ? String 是不是基本数据类型 ? Java 有 8 种基本数据类型: byte int ...
- VS自动添加头部注释
让VS自动生成类的头部注释,只需修改两个文集即可,一下两个路径下个有一个 Class.cs文件 D:\Program Files (x86)\Microsoft Visual Studio 14.0\ ...
- [原]linux下将网卡设置为混杂模式
设置为混杂模式ifconfig eth2 promisc取消设置ifconfig eth2 -promisc ------------------------------------------ 下面 ...
- CF 217A Ice Skating
A. Ice Skating time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- Xcode脚本自动化打包问题:xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
运行脚本后报错: xcrun: error: unable to find utility "PackageApplication", not a developer tool o ...
- Unity笔记 英保通 Unity新的动画系统Mecanim
Mecanim动画系统是Unity独一无二.强大灵活的人物动画系统.该系统赋予您的人类和非人类人物令人难以置信的自然流畅的动作,使它们栩栩如生.游戏中角色设计提高到了新的层次,在处理人类动画角色中可以 ...
- 【笔记】javascript权威指南-第二章-词法结构
词法结构 //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.28 字符集 UTF-8和UTF-16的区别?Unicode和UTF是什么关系?Unicode转义 ...