[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
[sql] view plain copy

 
  1. ---查看现在所有的事务
  2. select '正在运行事务的会话的 ID'=session_id,                     --session_id与transaction_id的对应关系
  3. '事务的 ID'=transaction_id,
  4. '正在处理事务的会话中的活动请求数'=enlist_count,
  5. '用户or系统事务'=case is_user_transaction when 1 then '事务由用户请求启动'
  6. when 0 then '系统事务'
  7. end,
  8. '本地or分布式事务'= case is_local when 0 then '分布式事务或登记的绑定会话事务'
  9. when 1 then '本地事务'
  10. end,
  11. '分布式事务类型'=case is_enlisted when 0 then '非登记的分布式事务'
  12. when 1 then '登记的分布式事务'
  13. end,
  14. '绑定会话中处于状态'=case is_enlisted when 0 then '事务在通过绑定会话的会话中处于非活动状态。'
  15. when 1 then '事务在通过绑定会话的会话中处于活动状态'
  16. end
  17. from sys.dm_tran_session_transactions  --会话中的事务,识别所有打开的事务
  18. where is_user_transaction =1
  19. ----活动事务的具体信息
  20. select dt.transaction_id,
  21. dt.name,
  22. dt.transaction_begin_time,
  23. case dt.transaction_type
  24. when 1 then '读/写事务'
  25. when 2 then '只读事务'
  26. when 3 then '系统事务'
  27. when 4 then '分布式事务'
  28. end 'transaction type',
  29. case dt.transaction_state
  30. when 0 then '事务尚未完全初始化'
  31. when 1 then '事务已初始化但尚未启动'
  32. when 2 then '事务处于活动状态'
  33. when 3 then '事务已结束。该状态用于只读事务'
  34. when 4 then '已对分布式事务启动提交进程'
  35. when 5 then '事务处于准备就绪状态且等待解析'
  36. when 6 then '事务已提交'
  37. when 7 then '事务正在被回滚'
  38. when 8 then '事务已回滚'
  39. end  'transaction state',
  40. case dt.dtc_state
  41. when 1 then '活动'
  42. when 2 then '准备就绪'
  43. when 3 then '已提交'
  44. when 4 then '中止'
  45. when 5 then '已恢复'
  46. end dtc_state
  47. from sys.dm_tran_active_transactions dt    --活动的事务
  48. where transaction_id = 123
  49. ---根据事务ID 和其对应的session_id 找到活动事务对应的执行语句
  50. select  dc.session_id,
  51. ds.login_name,
  52. ds.login_time,
  53. dc.connect_time,
  54. dc.client_net_address,
  55. ds.host_name,
  56. ds.program_name,
  57. case ds.status when 'sleeping' then '睡眠 - 当前没有运行任何请求 '
  58. when 'running' then '正在运行 - 当前正在运行一个或多个请求 '
  59. when 'Dormancy' then '休眠 – 会话因连接池而被重置,并且现在处于登录前状态'
  60. when 'Pre-connected' then '预连接 - 会话在资源调控器分类器中'
  61. end as status ,
  62. ds.cpu_time as cpu_time_ms,
  63. ds.memory_usage*8 as memory_kb,
  64. ds.total_elapsed_time as total_elapsed_time_ms,
  65. case ds.transaction_isolation_level when 0 then '未指定'
  66. when 1 then '未提交读取'
  67. when 2 then '已提交读取'
  68. when 3 then '可重复'
  69. when 4 then '可序列化'
  70. when 5 then '快照'
  71. end '会话的事务隔离级别',
  72. dt.text
  73. from sys.dm_exec_connections  dc        --执行连接,最近执行的查询信息
  74. cross apply sys.dm_exec_sql_text(dc.most_recent_sql_handle) dt
  75. join sys.dm_exec_sessions ds  on dc.session_id=ds.session_id
  76. where dc.session_id = 55

SQL SERVER 事务执行情况跟踪分析的更多相关文章

  1. 监控SQL Server正在执行的SQL语句和死锁情况

    原文:监控SQL Server正在执行的SQL语句和死锁情况 SELECT [Individual Query] = SUBSTRING(qt.TEXT, er.statement_start_off ...

  2. SQL Server事务详解

    事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式:  ...

  3. SQL Server 事务复制爬坑记

    SQL Server 复制功能折腾了好几天了,现特将其配置过程以及其间遇到的问题记录下来,以备日后查阅.同时,也让“同道”同学们少走不必要的弯路.如果有不对之处,欢迎大家指正,欢迎沟通交流. 一.复制 ...

  4. 网络异常与SQL Server事务

    SQL Server事务遭遇网络异常时的处理机制浅析 SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Se ...

  5. SQL Server 事务复制分发到订阅同步慢

    原文:SQL Server 事务复制分发到订阅同步慢 最近发现有一个发布经常出现问题,每几天就出错不同步,提示要求初始化.重新调整同步后,复制还是很慢!每天白天未分发的命令就达五六百万条!要解决慢的问 ...

  6. SQL Server 优化-执行计划

    对于SQL Server的优化来说,优化查询可能是很常见的事情.由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划.毕竟我对SQL Ser ...

  7. 人人都是 DBA(VI)SQL Server 事务日志

    SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...

  8. 第1/24周 SQL Server 如何执行一个查询

    大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Server如何执行一个查询来建立基础.这个部分非常重要, ...

  9. 了解Sql Server的执行计划

    前一篇总结了Sql Server Profiler,它主要用来监控数据库,并跟踪生成的sql语句.但是只拿到生成的sql语句没有什么用,我们可以利用这些sql语句,然后结合执行计划来分析sql语句的性 ...

随机推荐

  1. VMware按装ISO

    破解码 vmware12 5A02H-AU243-TZJ49-GTC7K-3C61N vmware14CG54H-D8D0H-H8DHY-C6X7X-N2KG6 创建虚拟机 也可以选第三个直接选择Ce ...

  2. Web程序员应该知道的Javascript prototype原理

    有同事问了我几个和Javascript的类继承的小问题,我在也不太理解的情况下,胡诌了一通. 回来以后有些内疚, 反省一下, 整理整理Javascript的prototype的原理, 自己清楚点, 也 ...

  3. VC++进行窗口枚举

    https://blog.csdn.net/u012372584/article/details/53735242 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  4. thinkphp3.2 判断星期几

    后台 $w=date('w'); $week=array( "=>"星期日", "=>"星期一", "=>&qu ...

  5. 获取访客IP、地区位置信息、浏览器、来源页面

    <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function getIp() { $ip=false; if ...

  6. TCP数据传输过程详解

    在学习三次握手的时候,我们知道其中有seq.ack两个序列号. 如果不仔细了解,那么可能只知道发回去的时候要加一. 下文将着重介绍,关于序列号的传输过程. 最关键的一句话:序列号为当前端成功发送的数据 ...

  7. 三元组顺序结构实现稀疏矩阵相加,行序优先(Java语言描述)

    不用十字链表也可以稀疏矩阵相加时间复杂度最坏情况达到O(tuA + tuB);思路比较简单就不赘述了,代码如下: 三元组: package 行逻辑链接的顺序表实现稀疏矩阵的相乘; public cla ...

  8. -webkit-transition -moz-transition transition

    -webkit-transition  -moz-transition transition 可以定义动画的变化时间曲线-webkit-transition-timing-function: ease ...

  9. Android Security Internals

  10. Word 2010 小技巧篇

    1.选择文本的妙招