SQLServer查询历史执行记录的方法实现

 更新时间:2023年09月28日 15:04:46   作者:nj0128  
有的时候,需要知道近段时间SQLSERVER执行了什么语句,本文主要介绍了SQLServer查询历史执行记录的方法实现,具有一定的参考价值,感兴趣的可以了解一下

1. 使用 SQL Server Management Studio (SSMS) 的查询执行记录功能:

  • 打开 SSMS,连接到要查看执行记录的数据库服务器。
  • 在“对象资源管理器”窗格中,右键单击要查看执行记录的数据库,然后选择“报表” > “标准报表” > “执行记录”。
  • 在“执行记录”窗口中,选择要查看的时间范围和其他过滤条件,然后单击“运行”。

2. 使用系统视图:

  • 在 SQL Server Management Studio (SSMS) 中打开“新查询”窗口。

  • 运行以下 SQL 查询语句来查看最近的执行记录:

SELECT TOP 100 *
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY last_execution_time DESC;
  • 这将显示最近的 100 个执行记录,按最后执行时间的降序排列。您可以根据需要更改 TOP 数量和排序顺序。
  • 也可以看部分关键执行字段:
SELECT TOP 100
    qs.last_execution_time,
    DB_NAME(st.dbid) AS database_name,
    OBJECT_NAME(st.objectid, st.dbid) AS object_name,
    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 executed_sql
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY qs.last_execution_time DESC;

这个查询语句将返回最近执行的 100 个查询,并包括执行时间、所在的数据库名称、对象名称和实际执行的 SQL 语句。其中 SUBSTRING 函数用于从完整的 SQL 语句文本中提取实际执行的部分。

到此这篇关于SQLServer查询历史执行记录的方法实现的文章就介绍到这了,更多相关SQLServer查询历史执行记录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

    与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

    与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误,未找到或无法访问服务器,请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接
    2024-04-04
  • SQL Server中删除重复数据的几个方法

    SQL Server中删除重复数据的几个方法

    数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置
    2013-05-05
  • 基于SQL Server中char,nchar,varchar,nvarchar的使用区别

    基于SQL Server中char,nchar,varchar,nvarchar的使用区别

    对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比
    2013-05-05
  • T-SQL篇如何防止SQL注入的解决方法

    T-SQL篇如何防止SQL注入的解决方法

    所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令,对于这种行为,我们应该如何制止呢?本文将介绍一种方法,希望可以帮助有需要的朋友
    2012-11-11
  • SQLServer中排查死锁及死锁问题解决

    SQLServer中排查死锁及死锁问题解决

    在并发访问数据库的环境中,死锁是一个常见的问题,本文主要介绍了SQLServer中排查死锁及死锁问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • 在SQL Server中恢复多个数据库的方法小结

    在SQL Server中恢复多个数据库的方法小结

    这篇文章主要介绍了如何在SQL Server中恢复多个数据库,通常情况下,只要备份文件的名称与相应的数据库匹配,且没有附加的日期或时间信息,就可以通过有效的 T-SQL 脚本来完成恢复,文中给介绍了在SQL Server中恢复多个数据库的方法小结,需要的朋友可以参考下
    2024-09-09
  • SQL Server日志清理3种实现方式

    SQL Server日志清理3种实现方式

    这篇文章主要给大家介绍了关于SQL Server日志清理3种实现方式的相关资料,在数据库使用很久后日志文件会累计的越来越大,如果硬盘空间不足可能会导致宕机,需要的朋友可以参考下
    2023-09-09
  • 浅析SQLServer中的Scanf与Printf

    浅析SQLServer中的Scanf与Printf

    本篇文章是对SQLServer中的Scanf与Printf进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • sql server 自定义分割月功能详解及实现代码

    sql server 自定义分割月功能详解及实现代码

    这篇文章主要介绍了sql server 自定义分割月功能详解及实现代码的相关资料,需要的朋友可以参考下
    2016-10-10
  • sqlserver中几种典型的等待

    sqlserver中几种典型的等待

    在最近的几次sqlserver问题的排查中,总结了sqlserver几种典型的等待类型,类似于oracle中的等待事件,如果看到这样的等待类型时候能够迅速定位问题的根源,下面通过一则案例来把这些典型的等待处理方法整理出来
    2016-05-05

最新评论