MsSql

关注公众号 jb51net

关闭
首页 > 数据库 > MsSql > SQL查询历史执行记录

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

作者:nj0128

有的时候,需要知道近段时间SQLSERVER执行了什么语句,本文主要介绍了SQLServer查询历史执行记录的方法实现,具有一定的参考价值,感兴趣的可以了解一下

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

2. 使用系统视图:

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;
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查询历史执行记录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文