返回顶部
首页 > 资讯 > 数据库 >MSSQL·查询T-SQL执行记录
  • 745
分享到

MSSQL·查询T-SQL执行记录

MSSQL·查询T-SQL执行记录 2018-12-12 18:12:56 745人浏览 无得
摘要

阅文时长 | 0.78分钟 字数统计 | 1261.6字符 主要内容 | 1、引言&背景 2、查询最近的T-sql执行记录 3、查询实际执行过的事务日志 4、声明与参考资料 『MSSQL·查询T-SQL执行记录』

MSSQL·查询T-SQL执行记录

阅文时长 | 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 1000
       QS.creation_time,
       SUBSTRING(   ST.text,
                    (QS.statement_start_offset / 2) + 1,
                    ((CASE QS.statement_end_offset
                          WHEN -1 THEN
                              DATALENGTH(ST.text)
                          ELSE
                              QS.statement_end_offset
                      END - 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 QS
    CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE 1 = 1
      AND QS.creation_time
      BETWEEN "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中读取。





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即可。

您可能感兴趣的文档:

--结束END--

本文标题: MSSQL·查询T-SQL执行记录

本文链接: https://lsjlt.com/news/8458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MSSQL·查询T-SQL执行记录
    阅文时长 | 0.78分钟 字数统计 | 1261.6字符 主要内容 | 1、引言&背景 2、查询最近的T-SQL执行记录 3、查询实际执行过的事务日志 4、声明与参考资料 『MSSQL·查询T-SQL执行记录』...
    99+
    2018-12-12
    MSSQL·查询T-SQL执行记录
  • sqlserver怎么查询历史sql执行记录
    在SQL Server中,可以通过查询系统表来获取历史SQL执行记录。以下是一些常用的系统表和视图: sys.dm_exec_qu...
    99+
    2024-04-09
    sqlserver
  • SQL Server查询执行过的SQL记录的方法
    说明:仅支持sql server2008及以上版本 通过下面的SQL语句可以查看Sqlserver执行的SQL记录,常用于SQL优化及辅助查找数据更新相关功能bug。 SELECT TOP 1000 ...
    99+
    2024-01-29
    SQL Server查询执行过的SQL记录 SQL Server查询SQL记录 SQL Server查询SQL SQL Server查询
  • 如何查看mysql执行sql记录
    要查看MySQL执行的SQL记录,可以通过以下方式: 使用MySQL的查询日志功能:在MySQL配置文件中打开查询日志功能,然后...
    99+
    2024-04-22
    mysql
  • oracle怎么查看sql执行记录
    在Oracle数据库中,可以通过以下方式查看SQL执行记录: 通过查询V$SQL和V$SQLSTATS视图来查看SQL语句的执行计...
    99+
    2024-05-21
    oracle sql
  • mysql binlog查看历史sql执行记录
    前情提要 最近有开发同学把测试库的数据干没了,反馈说是orm做了字段text转mediumtext操作导致的。 作为变更字段类型,且是兼容的理论上不可能存在这个问题,所以为了一探究竟他到底说的是不是假...
    99+
    2023-09-03
    mysql sql 数据库
  • oracle查询存储过程执行记录在哪
    在 oracle 中查看存储过程执行记录的方法包括:使用 v$sysstat 表查询执行次数和时间戳;使用 v$sql_workarea 表获取当前执行的信息;查看会话日志文件,需打开追...
    99+
    2024-04-19
    oracle
  • oracle查询存储过程执行记录时间怎么查
    在 oracle 中,可以通过以下方法查询存储过程执行记录时间:使用 dbms_profiler 包获取执行统计信息。使用 v$profiler 视图获取正在执行的 sql 语句和 pl...
    99+
    2024-04-19
    oracle
  • SQL查询语句执行原理
    首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句:select * from user_info where id = 1;返回结果为:mysql基本架构...
    99+
    2024-04-02
  • Oracle中如何执行SQL查询
    在Oracle中执行SQL查询有多种方式,其中最常见的方式是使用SQL Developer工具或者SQL*Plus命令行工具。以下是...
    99+
    2024-04-09
    Oracle
  • DB2中怎么执行SQL查询
    在DB2中执行SQL查询非常简单,只需要使用SELECT语句即可。以下是一个示例: SELECT * FROM table_...
    99+
    2024-04-09
    DB2
  • mysql 执行查询SQL 一直执行不出结果
    今天执行一个mysql 语句, 一直在 执行,执行了5分钟了,还是没有出来结果。 # 每个组织下包括 同级或者下级的 注册店铺数 # 查询 历史每一天的每个组织下的当天存在的门店数 select dt.`time...
    99+
    2021-12-24
    mysql 执行查询SQL 一直执行不出结果
  • redis怎么查看执行记录
    Redis并没有内置的执行记录功能,但是可以通过配置Redis的日志功能,来记录Redis的执行记录。 首先,需要修改Redis的配...
    99+
    2023-10-27
    redis
  • SQL查询语句执行的过程
    目录MySQL基本架构Server 层1、连接器2、查询缓存3、分析器4、优化器5、执行器SQL语句举例: SELECT * FROM `test` WHERE `i...
    99+
    2024-04-02
  • django怎么执行原生SQL查询
    本篇内容介绍了“django怎么执行原生SQL查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录执行原生 SQL 查询执行原生查询1 普...
    99+
    2023-06-20
  • SQL中怎么查询重复记录
    今天就跟大家聊聊有关SQL中怎么查询重复记录,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、查找表中多余的重复记录,重复记录是根据单个字段(peo...
    99+
    2024-04-02
  • django执行原生SQL查询的实现
    目录执行原生 SQL 查询1、执行原生查询1.1 普通查询1.2 将查询字段映射为模型字段1.3 索引查询1.4 将参数传给 raw()2、直接执行自定义 SQL2.1 指定连接数据...
    99+
    2024-04-02
  • SQL查询的执行顺序是什么
    本篇内容主要讲解“SQL查询的执行顺序是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL查询的执行顺序是什么”吧!很多 SQL 查询都是以 SELEC&...
    99+
    2024-04-02
  • plsql怎么查询正在执行的sql
    在PL/SQL中,可以使用`V$SQL`视图查询正在执行的SQL语句。以下是一个示例查询:```SELECT sql_id,...
    99+
    2023-09-28
    plsql sql
  • MySQL进阶-sql执行时间的查询
    上一节我们介绍了MySQL的索引,MySQL进阶—索引1_兜兜转转m的博客-CSDN博客 用于提高查询效率。那么我们应该优化哪些库的哪些sql呢? 答案1:肯定是查询频繁的数据库和查询执行时间长的sql。现在我们一一来解决这个问题。 首先如...
    99+
    2023-10-26
    mysql 数据库 sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作