首页 > 数据库 > mysql教程 > 如何在 SQL Server Management Studio 中检索和跟踪查询历史记录?

如何在 SQL Server Management Studio 中检索和跟踪查询历史记录?

DDD
发布: 2025-01-15 15:26:45
原创
794 人浏览过

How Can I Retrieve and Track Query History in SQL Server Management Studio?

在 SQL Server Management Studio (SSMS) 中跟踪过去的查询

有时,您需要查看以前在 SSMS 中运行的查询。 虽然 SSMS 没有内置的查询历史记录跟踪器,但有一些解决方法。

查找查询历史数据

如果 SQL Server 实例在运行查询后尚未重新启动,则查询计划可能仍位于计划缓存中。 尝试这个查询:

<code class="language-sql">SELECT t.[text]
FROM sys.dm_exec_cached_plans AS p
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%<unique_query_identifier>%';</code>
登录后复制

<unique_query_identifier> 替换为您记得的查询的一部分。

如果 SSMS 崩溃并且您丢失了查询历史记录,请检查这些恢复文件:

<code>C:\Users\<username>\Documents\SQL Server Management Studio\Backup Files\</code>
登录后复制

使用第三方工具和追踪

要进行持续的查询历史记录监控,请探索 SSMS 工具包等工具。 或者,您可以设置按您的登录名或主机名过滤的轻量级 SQL Server 跟踪。

使用 sys.dm_exec_query_stats 的详细查询历史记录

正如 Nenad-Zivkovic 指出的,使用 sys.dm_exec_query_stats 提供更全面的查询历史记录详细信息。此查询将其与其他系统视图结合起来,按上次执行时间对结果进行排序:

<code class="language-sql">SELECT t.[text], s.last_execution_time
FROM sys.dm_exec_cached_plans AS p
INNER JOIN sys.dm_exec_query_stats AS s
   ON p.plan_handle = s.plan_handle
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%<unique_query_identifier>%'
ORDER BY s.last_execution_time DESC;</code>
登录后复制

请记住将 <unique_query_identifier> 替换为查询的唯一部分。

以上是如何在 SQL Server Management Studio 中检索和跟踪查询历史记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板