阅文时长 | 0.78分钟 字数统计 | 1261.6字符
主要内容 | 1、引言&背景 2、查询最近的T-SQL执行记录 3、查询实际执行过的事务日志 4、声明与参考资料
『MSSQL·查询T-SQL执行记录』
编写人 | SCscHero 编写时间 | 2021/5/30 PM2:18
文章类型 | 系列 完成度 | 已完成
座右铭 每一个伟大的事业,都有一个微不足道的开始。

一、引言&背景   完成度:100%

a) 应对问题

MSSQL数据库中如何查询T-SQL的执行记录?

b) 应用场景

查询T-SQL的执行记录,影响的哪些表,查询的哪些内容,查询的脚本源码等。

c) 解决原理&方法

有两种方式查询T-SQL执行记录。

  • 一种可以查询最近的T-SQL执行记录,信息完整可显示详细的脚本。
  • 一种可以查询实际执行过的事务日志,只能看到影响的表,进行的是什么类型的操作(SELECT,INSERT,DELETE,UPDATE)等。

二、查询最近的T-SQL执行记录   完成度:100%

sys.dm_exec_query_stats这个视图主要是对执行计划的统计,包含消耗成本,运行次数等等。MSSQL默认不缓存全部,所以只有部分数据。
若要缓存全部,可通过开启跟踪,审计之类的方法,是可以记录所有操作的,但对DB有一定的开销。

SELECT TOP 1000QS.creation_time,SUBSTRING(   ST.text,(QS.statement_start_offset / 2) + 1,((CASE QS.statement_end_offsetWHEN -1 THENDATALENGTH(ST.text)ELSEQS.statement_end_offsetEND - QS.statement_start_offset) / 2) + 1) AS statement_text,ST.text,QS.total_worker_time,QS.last_worker_time,QS.max_worker_time,QS.min_worker_time
FROM sys.dm_exec_query_stats QSCROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE 1 = 1AND QS.creation_timeBETWEEN '2017-09-09 10:00:00' AND '2025-09-11 18:00:00'AND ST.text LIKE '%%'
ORDER BY QS.creation_time DESC;

三、查询实际执行过的事务日志   完成度:100%

查看数据库事务日志中的记录,fn_dblog中读取。


/* allocunitname常用的检索类型
LOP_BUF_WRITE
LOP_SET_FREE_SPACE
LOP_LOCK_XACT
LOP_SHRINK_NOOP
LOP_XACT_CKPT
LOP_PREP_XACT
LOP_INSERT_ROWS
LOP_MODIFY_COLUMNS
LOP_COUNT_DELTA
LOP_HOBT_DELTA
LOP_MODIFY_HEADER
LOP_COMMIT_XACT
LOP_DELETE_SPLIT
LOP_END_CKPT
LOP_BEGIN_XACT
LOP_MODIFY_ROW
LOP_INSYSXACT
LOP_FILE_HDR_MODIFY
LOP_CLEAR_GAM_BITS
LOP_FORMAT_PAGE
LOP_BEGIN_CKPT
LOP_SET_BITS
*/SELECT [Begin Time],[End Time],AllocUnitName,Operation,[RowLog Contents 0] AS r0,[RowLog Contents 1] AS r1,*
FROM fn_dblog(NULL, NULL)
WHERE AllocUnitName LIKE 'dbo.%' --影响的表AND Operation IN ( 'LOP_DELETE_ROWS' )--操作类型

四、声明与参考资料   完成度:100%

sys.dm_exec_query_stats

原创博文,未经许可请勿转载。

如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!如需与博主联系的,直接博客私信SCscHero即可。

MSSQL·查询T-SQL执行记录相关推荐

  1. MS-SQL Server 基础类 - SQL语句

      网址收藏夹 免费申请! 首页 |收藏夹 | 笑话 | 贴吧 | 交友 | 留言 | 软件 | 超市 | 网页特效 | 酷站导航 | 论坛 新闻 | 同学录 | 图片 | 跑商 | 动画 | 音乐 ...

  2. MSSQL · 最佳实践 · SQL Server备份策略

    摘要 在上一期月报中我们分享了SQL Server三种常见的备份技术及工作方式,本期月报将分享如何充分利用三者的优点来制定SQL Server数据库的备份和还原策略以达到数据库快速灾难恢复能力. 上期 ...

  3. 记录集 执行mysql_mysql 多次查询后再执行记录集

    mysql 多次查询后再执行记录集 关注:234  答案:2  mip版 解决时间 2021-01-17 06:32 提问者酒瘾渼亽兒 2021-01-16 12:11 一.概况 一个项目需要远程连接 ...

  4. mybaits的模糊查询_mybatis模糊查询防止SQL注入(很详细)

    SQL注入,大家都不陌生,是一种常见的攻击方式.攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如"or '1'='1'"这样的语句),有可能入侵参数检验不足的应用程序 ...

  5. MySql实现分页查询的SQL,mysql实现分页查询的sql语句 (转)

    摘要:MySQL数据库实现分页查询的SQL语句写法! 一:分页需求: 客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了 ...

  6. Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略

    Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略 目录 利用Pandas函数实现对表格文件的查之高级查询(类似sql) 1.分组查询

  7. SQLite关于时间段查询的sql

    在SQLite或其它的数据库中,如果要对查询结果进行时间段过滤是一个很麻烦的事情,根据我的工作经验将常用时间段查询的sql总结如下: 我们现在的表主要有两个字段start_time和end_time, ...

  8. 提高SQL查询效率(SQL优化)

    我们要做到不但会写SQL,还要做到写出性能优良的SQL语句. (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句 ...

  9. 数据库-优化-通过执行计划查询分析SQL执行计划-每个字段的说明

    通过explain查询分析SQL的执行计划 1.使用explain查询SQL的执行计划 SQL的执行计划侧面反映出了SQL的执行效率,具体执行方式如下所示: 在执行的SQL前面加上explain关键词 ...

最新文章

  1. ComponentOne WebChart for ASP.NET基础
  2. 快速学习ggplot2
  3. 哈尔滨金融学院计算机系学生会,哈尔滨金融学院计算机系实习报告(毕业分散实习).doc...
  4. Jupyter command 'notebook': [Errno 'jupyter-notebook' not found] 2解决方法
  5. Pycharm -- RuntimeWarning: Parent module '...' not found while handling absolute import
  6. Http Module 介绍[转]
  7. linux安装nvidia黑屏,GTX 550 Ti 安装Linux遇到的问题 黑屏 显示器休眠
  8. 备忘录模式(Memento Pattern)
  9. android使用greedao踩坑日记
  10. 信息检索评价标准计算
  11. appfuse_AppFuse 3.0
  12. 线性代数 --- LU分解(Gauss消元法的矩阵表示)
  13. c语言null是什么意思,c语言null什么意思?
  14. 2021强校北师大附中招信息学奥赛方向的科技特长生认定标准
  15. Python 解决报错NameError: name ‘LEFT‘ is not defined
  16. [C程序设计]输出所有的“水仙花数”。
  17. 使用ffmpeg对mp3格式的音频文件类型转换、截取及合并
  18. Python | OpenCV画图显示为一个全黑画布的情况
  19. ThinkPHP6使用七牛云存储,不改代码,改下配置就上七牛
  20. Bootloader的作用与实现

热门文章

  1. Android Listview ArrayAdapter示例
  2. 蓝桥杯 ALGO-1005 数字游戏 DFS记忆化搜索+剪枝+杨辉三角 python
  3. 如何在blender中导入插件(模组)
  4. 微信预约系统怎么做_分享微信预约系统搭建过程
  5. canvas中实现字体描边
  6. Django 框架全面讲解
  7. mac下浏览器全屏被隐藏地址栏问题的解决办法
  8. NEC入门 — 菜鸟到中鸟的捷径
  9. Pycharm中解决Unresolved Reference问题
  10. 浦江实验室全球招聘博士后人才!