恢复 SQL Server Management Studio 查询历史记录
在 SQL Server Management Studio (SSMS) 中查找过去的查询可能很棘手,因为 SSMS 不会直接将查询历史记录存储在日志文件中。 但是,有几种方法可以帮助您检索查询:
方法一:检查计划缓存
如果您的 SQL Server 尚未重新启动并且查询计划尚未删除,您可能会在计划缓存中找到它。 使用此 T-SQL 命令,将 '%something unique about your query%'
替换为查询中的唯一标识符:
<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'%something unique about your query%';</code>
方法 2:检查恢复文件
如果 SSMS 崩溃并且您丢失了查询,请在此目录中搜索恢复文件:
<code>C:\Users\<your_username>\Documents\SQL Server Management Studio\Backup Files\</code>
方法三:使用第三方工具或服务器端追踪
如果以上方法都失败,请考虑使用第三方工具,例如SSMS Tools Pack(适用于SQL Server 2012及更早版本)。 或者,实施服务器端跟踪,按您的登录名或主机名进行过滤。
方法四:按执行时间排序结果
要按上次执行时间组织查询历史记录,请使用此查询连接 sys.dm_exec_cached_plans
和 sys.dm_exec_query_stats
,按 last_execution_time
:
<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'%something unique about your query%' ORDER BY s.last_execution_time DESC; ``` Remember to replace `'%something unique about your query%'` with a distinctive part of your query.</code>
以上是如何检索我的 SQL Server Management Studio 查询历史记录?的详细内容。更多信息请关注PHP中文网其他相关文章!