服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQL Server查询历史执行记录

SQL Server查询历史执行记录

2023-08-09 15:19nj0128 Sql Server

1. 使用 SQL Server Management Studio (SSMS) 的查询执行记录功能: 打开 SSMS,连接到要查看执行记录的数据库服务器。 在对象资源管理器窗格中,右键单击要查看执行记录的数据库,然后选择报表 标准报表 执行记录。 在执行记录窗口中

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 语句文本中提取实际执行的部分。

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

原文地址:https://blog.csdn.net/nj0128/article/details/130552288

延伸 · 阅读

精彩推荐