在 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中文網其他相關文章!