在 SQL Server Management Studio (SSMS) 中恢复过去的 SQL 查询
与某些数据库系统(MySQL、PostgreSQL)不同,SQL Server 不会自动记录查询历史记录。 因此,检索过去的查询需要不同的方法。
检查缓存的执行计划
如果 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'%something unique about your query%';</code>
请记住将 '%something unique about your query%'
替换为查询的独特部分。
检查 SSMS 恢复文件
SSMS 意外崩溃后,您可能会在此目录中找到恢复文件:
<code>C:\Users\<your_username>\Documents\SQL Server Management Studio\Backup Files\</code>
第三方工具和服务器端跟踪
如果上述方法不成功,请考虑以下选项:
改进的查询统计
要显示按上次执行时间排序的缓存查询,请使用此增强型查询:
<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;</code>
这提供了最近查询活动的更有条理的视图。
以上是如何检索我的 SQL Server 查询历史记录?的详细内容。更多信息请关注PHP中文网其他相关文章!